今天突然看到Java中的replace有两种方法,一种是直接替换,另一种是可以进行匹配替换的方式:
public String replace(CharSequence target, CharSequence replacement)
-
使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。该替换从字符串的开头朝末尾执行,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。
-
-
- 参数:
-
target
- 要被替换的 char 值序列 -
replacement
- char 值的替换序列 - 返回:
- 所得 String
- 抛出:
-
NullPointerException
- 如果target
或replacement
为null
。
源码如下:
public String replace(CharSequence target, CharSequence replacement) {
return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(this).replaceAll(Matcher.quoteReplacement(replacement.toString()));
}