关于java正则匹配的问题

wxping0000 2009-07-01 12:51:27
大家帮忙运行这个程序看看 抛出异常的
public static void main(String args[]) {
String s = "asdf'asdf";
System.out.println(s.replaceAll("'","\\"));
}
...全文
26 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxping0000 2009-07-02
  • 打赏
  • 举报
回复
这个是因为java两个\\表示一个\
replaceAll是通过正则表达式匹配的。在正则表达式中\的作用也是转义。所以需要四个\吧
「已注销」 2009-07-01
  • 打赏
  • 举报
回复
五分钟没人坐沙发???
薪水 2009-07-01
  • 打赏
  • 举报
回复
帮顶~
wangzhang1215 2009-07-01
  • 打赏
  • 举报
回复
"\\"= 一个\字符
asdf'asdf被替换掉之后成了asdf\asdf
asdf\asdf这个字符串是错的
wibnmo 2009-07-01
  • 打赏
  • 举报
回复

public class T{
public static void main(String args[]){
String s = "asdf'asdf";
System.out.println(s.replaceAll("'","\\\\\\\\"));
}
}

这样就没问题了。java中两个\\代表一个\。
wenzheng38 2009-07-01
  • 打赏
  • 举报
回复
s.replaceAll("'","\\\\")就可以了吧
ouyangxiaokang6 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wibnmo 的回复:]
Java code
public class T{
public static void main(String args[]){
String s = "asdf'asdf";
System.out.println(s.replaceAll("'","\\\\\\\\"));
}
}



这样就没问题了。java中两个\\代表一个\。
[/Quote]
up

62,614

社区成员

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

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