replaceAll时遇到的$转义问题

本文探讨了Java中处理字符串转义的问题,特别是针对特殊字符如${}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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


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


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

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

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



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

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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值