侧边栏壁纸
  • 累计撰写 26 篇文章
  • 累计创建 25 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Java中replace方法中反斜杠替换

iRay
2022-10-04 / 0 评论 / 0 点赞 / 542 阅读 / 1727 字
今天在项目中使用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("\\\\","");
0

评论区