Answers:
只是使用String.replace(CharSequence,CharSequence)而不是replaceAll。
System.out.println("hello world, hello life, hello you".replace("hello","hi"));返回"hi world, hi life, hi you"。
添加转义的方法是Pattern.quote()。
String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)
但是正如乔恩所说,你可以用replace()。尽管事实与replaceAll名称有所不同,但它确实取代了所有出现的内容,就像一样replaceAll()。
Pattern.compile()将字符串编译为正则表达式,意味着特殊字符将具有特殊含义。这与Pattern.quote()操作以及OP要求的完全相反(例如quote(),“将字符串作为文字处理”)。也许您可以扩展您正在谈论的“不良结果”。
Matcher.quoteReplacement("$aa +")。 Pattern.compile()产生一个Pattern,而不是a String,因此我不清楚您在中如何使用它replaceAll。