replaceAll时遇到的$转义问题

来源:互联网 发布:mac搜索移动硬盘文件 编辑:程序博客网 时间:2024/06/16 20:06

Sring content = "${phone}。。。。";

content = content.replaceAll("\\$\\{phone}", "\\\\\\${0}");


转义后的结果是/${0}。。。。多了一个反斜杠。  疑问:是否有一步到位能比较优雅的转义。


现在要去掉斜杠,就是如下处理

content = content.replaceAll("\\$\\{phone}", "\\\\\\${0}").replaceAll("\\\\", "");

将斜杠单独处理,但是这样子容易将content中的斜杠也去掉。。。。。。



备注:content = content.replaceAll("\\$\\{phone}", "\\\\\\${0}");

为什么${0}前面是六个"\"?

$需要转义成\$(反向引用的原因),\是需要\\\转义,加上被转义的\这样就是\\\\,$本身需要\\$,这样子6个了


反向引用是什么意思?(待补充了解)

阅读全文
0 0