想替换路径中的"\"为"/" 执行一直出错path.replaceAll("\\","/");

gloomyfish
博客专家认证
2005-08-11 12:16:51
编译可以通过,执行一致出错,错误如下:
Exception in thread "main" java.util.regex.PatternSyntaxException:Unexcepted inernal error near index 1
请乱弹~~~
...全文
321 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
interhanchi 2005-08-11
  • 打赏
  • 举报
回复
应该先转义!
path.replaceAll("\\\\","\");

如果你用过其它语言的正则表达式,那么你一眼就能看出反斜杠的与众不同。在其它语言里,"\\"的意思是"我只是要在正则表达式里插入一个反斜杠。没什么特别的意思。"但是在Java里,"\\"的意思是"我要插入一个正则表达式的反斜杠,所以跟在它后面的那个字符的意思就变了。"举例来说,如果你想表示一个或更多的"单词字符",那么这个正则表达式就应该是"\\w+"。如果你要插入一个反斜杠,那就得用"\\\\"。不过像换行,跳格之类的还是只用一根反斜杠:"\n\t"。

believefym 2005-08-11
  • 打赏
  • 举报
回复
System.out.println("1\\234\\567.1".replaceAll("\\\\","/"));
zgysc 2005-08-11
  • 打赏
  • 举报
回复
"\\"===>"\"
xdop 2005-08-11
  • 打赏
  • 举报
回复
好问题
rower203 2005-08-11
  • 打赏
  • 举报
回复
"\"比较特殊,需用“\\\\”转义。
congliu 2005-08-11
  • 打赏
  • 举报
回复
转义字符的写法问题,\\应该写为\\\\

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧