这应该是一个非常简单的问题,但我感到困惑,有些东西不能正常工作。
我想解析输入字符串以替换“with [5178]和'with [5179]哪个效果很好,我得到的字符串就像我想要的那样,但当我走另一条路时,我想解析[ 5178]到“和[5179]到',我得到一些奇怪的东西。
这是我的代码:
text = text.replaceAll("[5178]","\"");
text = text.replaceAll("[5179]","\'");
那部分不起作用,这部分确实:
text = text.replaceAll("\"","[5178]");
text = text.replaceAll("\'","[5179]");
当我输入文字时,让我们说:Single quote ' and double quote "
我得到:Single quote [5179] and double quote [5178]
,但当我走另一条路时,我得到Single quote ["""'] and double quote [""""]
。
我不知道发生了什么,有什么想法吗?
答案 0 :(得分:3)
replaceAll
使用正则表达式作为其第一个参数。 [
和]
用于分隔正则表达式中的character class,因此需要进行转义
text = text.replaceAll("\\[5178\\]","\"");
或者你可以使用
text = text.replaceAll(Pattern.quote("[5178]"), "\"");