我正在学习java,我想使用java [] and {}
将所有替换为空格
RegExp
。
我的尝试,
final String data = "{a:b,c:d,e:[f,g,h]}";
System.out.println(data.replaceAll("[{}[]]", " "));
但我得到了java.util.regex.PatternSyntaxException: Unclosed character class near index 5 [{}[]].
^
我认为java认为]
位于第5位作为RegExp
的终点。
那么我该怎样摆脱方括号并用空格[]{}
替换所有。
答案 0 :(得分:5)
你必须逃避[
内的]
,[]
(字符类)
System.out.println(data.replaceAll("[{}\\[\\]]", " "));
答案 1 :(得分:2)
您需要使用反斜杠转义特殊字符[
和]
:
System.out.println(data.replaceAll("[{}\\[\\]]", " "));