您的位置:首页 > 其它

string replace 与 replaceall的区别

2014-11-18 11:32 239 查看
replace 与 replaceall在特殊字符的处理上会存在差别

replace

public String replace(CharSequence target, CharSequence replacement)

使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。该替换从字符串的开头朝末尾执行,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。

参数:

target - 要被替换的 char 值序列

replacement - char 值的替换序列

返回:

所得 String

抛出:

NullPointerException

- 如果 target 或 replacement 为 null。

replaceAll

public String replaceAll(String regex, String replacement)

使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

调用此方法的 str.replaceAll(regex, repl) 形式与以下表达式产生的结果完全相同:

Pattern.compile(

regex).matcher(str).replaceAll(repl)

注意,在替代字符串中使用反斜杠 (\) 和美元符号 ($) 与将其视为字面值替代字符串所得的结果可能不同;请参阅 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String)

取消这些字符的特殊含义。

参数:

regex - 用来匹配此字符串的正则表达式

replacement - 用来替换每个匹配项的字符串

返回:

所得 String

抛出:

PatternSyntaxException - 如果正则表达式的语法无效

replace 主要是针对字符串的替换,而 replaceAll主要是针对正则表达式的替换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: