为了账号安全,请及时绑定邮箱和手机立即绑定

Java字符串替换无法正常工作

Java字符串替换无法正常工作

墨色风雨 2019-07-31 10:47:30
Java字符串替换无法正常工作String delimiter = "\\*\\*";String html = "<html><head></head><body>**USERNAME** AND **PASSWORD**</body></html>";Map<String, String> mp = new HashMap<String, String>();mp.put("USERNAME", "User A");mp.put("PASSWORD", "B");for (Entry<String, String> entry : mp.entrySet()) {  html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());}这应该通常取代这两个字符串,但事实并非如此。有没有人有想法?
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

String是不可变的,这意味着html引用不会更改,而replace方法返回一个您必须分配的新String对象。

html = html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());


查看完整回答
反对 回复 2019-07-31
?
Qyouu

TA贡献1786条经验 获得超11个赞

replace方法返回你要丢弃的结果。


查看完整回答
反对 回复 2019-07-31
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

你不需要逃避*角色。replace和之间的区别replaceAllreplace自动转义任何正则表达式元字符:

String delimiter = "**";


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 579 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信