今天在项目中使用java中replace方法将字符串中的反斜杠("\")替换成空字符串("")
结果出现如下的异常:
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
错误的原因:在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示。这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\"。所以要想使用replace方法将字符串中的反斜杠("\")替换成空字符串(""),则需要这样写:str.replace("\\\\","");
例如:
String testReplace="usr\local\host";
testReplace.replaceAll("\\","");
使用上面的代码会报错:java.util.regex.PatternSyntaxException: Unexpected internal error near index
正确的写法是:
testReplace.replaceAll("\\\\","");
版权归属:
iRay
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区