我在使用replaceAll方法替换方括号和双引号时遇到了困难.有任何想法吗?
编辑:
到目前为止,我已经尝试过:
replace("\[", "some_thing") // returns illegal escape character
replace("[[", "some_thing") // returns Unclosed character class
replace("^[", "some_thing") // returns Unclosed character class
Run Code Online (Sandbox Code Playgroud)
不要使用replaceAll,使用replace.前者使用正则表达式,并且[]是正则表达式中的特殊字符.
String replaced = input.replace("]", ""); //etc
Run Code Online (Sandbox Code Playgroud)
双引号在Java中是特殊的,因此您需要使用单个反斜杠("\"")来转义它.
如果要使用正则表达式,则需要转义这些字符并将它们放在字符类中.字符类被包围[]并且通过在其前面加上反斜杠来转义字符\.但是,因为反斜杠在Java中也很特殊,所以它也需要进行转义,因此要为正则表达式引擎提供反斜杠,必须使用两个反斜杠(\\[).
最后它应该看起来像这样(如果你使用正则表达式):
String replaced = input.replaceAll("[\\[\\]\"]", "");
Run Code Online (Sandbox Code Playgroud)