大家都知道,replaceAll这个东西支持regular expression的。不过。。
如果你要replace 中括号怎么办?
str.replaceAll("[]","");
你会发现出错了!
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 2
[]
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.clazz(Pattern.java:2254)
at java.util.regex.Pattern.sequence(Pattern.java:1818)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.(Pattern.java:1133)
。。。。
很郁闷吧!
这个时候需要改为:
str.replaceAll("\\[\\]","");
注意红颜色的部分哦。两个\。
同理
str.replaceAll("\\(\\)","");