2017-10-09 41 views
1

这是我的正则表达式。我想找到开头和结尾的圆括号,并用“\(”和“\)”替换它们。replace全部错误

word = word.replaceAll(Pattern.quote("("), "\\" + "(").replaceAll(Pattern.quote(")"), "\\" + ")"); 

这是输出,如果字= “字)”:

New word is: word) 

正如你可以看到它并没有改变任何事情。

+1

为什么你需要使用正则表达式进行简单的更换也是这样吗?只需使用正常的替换功能并省去一些麻烦:''''''''''''''''''' –

+0

感谢您使用'word.replace(“(”“,”\\“+”(“).replace(”)“,”\\“+”)“你工作。你可以把这个回答:) –

回答

1

尝试使用\\\\这样的:

word = word.replaceAll(Pattern.quote("("), "\\\\" + "(") 
     .replaceAll(Pattern.quote(")"), "\\\\" + ")"); 

或不Pattern.quote

word = word.replaceAll("\\(", "\\\\(").replaceAll("\\)", "\\\\)"); 

或代替你的情况,你可以用替换:工作

word = word.replace("(", "\\(").replace(")", "\\)"); 
0

两个答案:

word.replace("(", "\\" + "(").replace(")", "\\" + ")"); – OH GOD SPIDERS 

replacing \\ with \\\\ in the replaceAll - YCF_L.