基本上,这就是我要做的:
String s = "to+go+la";
s.replaceAll("to+go", "");
应该返回 "+la"
我知道如果我只是替换 + 符号,我会使用 \\+
,但我不确定嵌入符号后我该做什么。将它们从两者中删除是最好的答案吗?这对我的目的有用,但它看起来像是胶带的答案。
最佳答案
... but it seems like a duct tape answer.
这似乎是一个“胶带”答案,因为您还没有了解为什么在仅替换“+”字符时需要使用 \+
。
答案是“+”是一个正则表达式元字符。意思是“在此之前的字符或组可能出现一次或多次”。
如果您希望将 "to+go"
视为文字字符串(而不是正则表达式),那么一种方法是使用“正则表达式引用”它;例如
s.replaceAll(Pattern.quote("to+go"), "");
另一方面,如果 +
字符完全不相关,那么删除它们也可以......
关于java - 在 Java 中将 replaceAll 与包含特殊字符的字符串一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12024972/