读书人

replaceFirst的有关问题

发布时间: 2011-12-27 22:22:55 作者: rapoo

replaceFirst的问题
以下代码,
String str1 = "1234\\q\23 ";
String str2 = "1234\\q ";
str1 = str1.replaceFirst( str2, " ");

执行的时候为什么会出异常呢!
java.util.regex.PatternSyntaxException: Illegal/unsupported escape squence near index 5

[解决办法]
首先str1的\23没有意义,可能你需要的是\\23
str2的正则表达式不正确,\\q没有意义不被支持,而如\\d则可以,建议看正则表达式的知识
如果你想把 "1234\\q\23 "替换为 "\23 "
把str1改为 "1234\\q\\23 "
把str2改为 "1234\\\\. "就可以

读书人网 >J2SE开发

热点推荐