字符串替换效率java

String replacement efficiency java

哪种方式替换字符串中的 characters/substring 更有效。我搜索过,发现了两种方法:

output = output.replaceAll(REGEX, REPLACEMENT);

Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(output);
output = m.replaceAll(REPLACEMENT);

我的意思是效率:更少的时间,循环 and/or 个新变量。

如果你看一下 String 方法 replaceAll 它在底层做同样的事情:

public String replaceAll(String regex, String replacement) {
    return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}

如果您想多次使用相同的模式。最好选择第二个选项,因为您不需要每次都重新编译它。