Java:从文本文件字符串中替换“[”“]”

时间:2011-02-20 16:11:09

标签: java regex string replace

我正在使用

str.replaceAll("GeoData[", "");

在我的文本文件中的某些字符串中替换“[”符号,但我得到:

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 7
GeoData[
       ^
    at java.util.regex.Pattern.error(Pattern.java:1713)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:17)

方法replaceAll将参数解释为正则表达式。在正则表达式中,如果您想要它的字面意思,则必须转义[,否则它将被解释为字符类的开头。

str = str.replaceAll("GeoData\\[", "");

如果您不打算使用正则表达式,请改用replace,正如Bozho在answer中提到的那样。

答案 1 :(得分:11)

使用非正则表达式方法String.replace(..)str.replace("GeoData[", "")

(人们往往会错过这种方法,因为它需要CharSequence作为参数,而不是String。但String实现CharSequence