我正在使用
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)
我该怎么解决这个问题?
方法replaceAll将参数解释为正则表达式.在正则表达式中,您必须转义[如果您想要它的字面含义,否则它将被解释为字符类的开头.
str = str.replaceAll("GeoData\\[","");
如果您不打算使用正则表达式,那么请使用替换,正如Bozho在他的answer中提到的那样.