replace、replaceAll和replaceFirst是JAVA中常用的替换字符的方法,它们的区别是:
- replace(CharSequence target, CharSequence replacement)
用replacement替换所有的target,两个参数都是字符串。 - replaceAll(String regex, String replacement)
用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。 - replaceFirst(String regex, String replacement)
基本和replaceAll相同,区别是只替换第一个匹配项。
总结:
相同点:replace和replaceAll都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串
不同点:
- replace替换的只能是字符或字符串形式,
- replaceAll和replaceFirst()是基于规则表达式(正则表达式)的替换,
- replaceAll是替换所有的,而replaceFirst()仅替换第一次出现的。
- 另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;
还有一点注意::执行了替换操作后,源字符串的内容是没有发生改变的