gpt4 book ai didi

java - 替换字符串中的多个字符串

转载 作者:行者123 更新时间:2023-11-30 08:18:22 24 4
gpt4 key购买 nike

我知道有很多与类似问题相关的问题和答案,但我找不到我的问题的答案。这是我的代码的一小段:

    private String substitute(String text) {
List<Macro> macros = getMacros();

for (Macro macro : macros) {
text = StringUtils.replace(text, macro.getKey(), macro.getValue());
}
return text;
}
  1. 这是在文本字符串中替换多个宏变量的好方法吗?这会在每个循环上创建一个新的 String 对象,所以我想知道是否有更好的方法来做到这一点。理想情况下,我会使用 Apache Commons StrSubstitutor 类,但由于 token /宏的格式(不同的格式并且不在固定的前缀/后缀之间),我不能使用。由于性能问题,我也不想使用正则表达式。
  2. 根据工作中的一些编码规则,我需要将参数标记为final。我想知道这是否确实是一个好的做法。我知道字符串是不可变的,并且我知道每当我调用 StringUtils.replace() 时,它都会返回一个新的 String 对象。但我想知道这里的 String 参数是否应该按照建议标记为final,并在方法中执行如下操作:

    String result = text;
    for (Macro macro : macros) {
    result = StringUtils.replace(result, macro.getKey(), macro.getValue());
    }

    我只是不喜欢这样。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

您可以使用apache Velocity将带有键的字符串替换为带有值的等效字符串。

关于java - 替换字符串中的多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29342321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com