replaceAll时遇到的$转义问题

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

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


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


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

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

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



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

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

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


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

猜你喜欢

转载自blog.csdn.net/doubleqinyan/article/details/78861686
今日推荐