String类有四种替换操作:
replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用newChar
替换此字符串中出现的所有oldChar
得到的。
replace(CharSequence target, CharSequence replacement)
使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
replaceFirst(String regex, String replacement)
使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
第1种和第3种比较常用,最近遇到的一个问题是删除以特定字符串开头以特定字符串结尾的字符串。
如删除以“想得到怎样的帮助”开头以“查看大图”结尾的字符串,可用如下表达式:
str.replace("(?=想得到怎样的帮助).*?(?<=查看大图)", "");