Java replaceAll的陷阱

来源:互联网 发布:linux网络重启失败 编辑:程序博客网 时间:2024/04/30 09:13

大家都知道,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.<init>(Pattern.java:1133)

。。。。

 

很郁闷吧!

 

这个时候需要改为:

 

str.replaceAll("//[//]","");

 

注意红颜色的部分哦。两个/。

原创粉丝点击