Java中的字符串替换

字符串替换

简单替换

1
2
3
4
5
// String.java

public String replace(char oldChar, char newChar);

public String replace(CharSequence target, CharSequence replacement);

正则替换

1
2
3
4
5
// String.java

public String replaceFirst(String regex, String replacement);

public String replaceAll(String regex, String replacement);

str.replaceFirst(regex, repl) 等价于 Pattern.compile(regex).matcher(str).replaceFirst(repl)

replacement 中的反斜杠(\) 美元符号($) 可能会导致结果异常, 如果需要的话使用 Matcher.quoteReplacement(java.lang.String) 进行处理

特殊处理

1
2
3
// Matcher.java

public String replaceFirst(String replacement);

replacement 中的反斜杠(\) 美元符号($) 可能会导致结果异常, 反斜杠可能会被用于转义, 美元符号可能会被当成被匹配到的子序列的引用


参考资料

JAVA正则表达式:Pattern类与Matcher类详解(转) - ggjucheng - 博客园