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

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());

}

这应该通常取代这两个字符串,但事实并非如此。有没有人有想法?

墨色风雨
浏览 580回答 3
3回答

萧十郎

String是不可变的,这意味着html引用不会更改,而replace方法返回一个您必须分配的新String对象。html&nbsp;=&nbsp;html.replace(delimiter&nbsp;+&nbsp;entry.getKey()+&nbsp;delimiter,&nbsp;entry.getValue());

Qyouu

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

一只名叫tom的猫

你不需要逃避*角色。replace和之间的区别replaceAll是replace自动转义任何正则表达式元字符:String&nbsp;delimiter&nbsp;=&nbsp;"**";
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java