替换所有不带正则表达式的字符串

我想在字符串中替换子字符串的所有实例,但是 String.replaceAll()只接受模式。来自上一个匹配的字符串。是否有可能向我所使用的模式添加转义,或者在另一个接受文本字符串而不是模式的类中是否存在 replaceAll()的版本?

74635 次浏览

使用 String.replace(CharSequence,CharSequence)而不是 replaceAll

注意: replace不仅仅替换了第一个出现的事件,它还替换了 所有出现的事件,比如 replaceAll

添加转义的方法是 Pattern.quote()

String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)

但是正如 Jon 所说,你可以只使用 replace()。尽管它偏离了 replaceAll的名称,但是它确实像 replaceAll()一样替换了 所有的出现。