Java 字符串替换不起作用

标签 java string replace

<分区>

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

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

最佳答案

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

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

关于Java 字符串替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6219263/

相关文章:

Python 正则表达式抓取和替换字符串

java - WEB-INF 中的 spring 资源

Java 使用正则表达式匹配多个标记

swift - 将 Int 转换为格式化字符串(Swift)

java - 替换 HashSet Java 成员

javascript - 在顺序很重要的 javascript 中,是否有更 Eloquent 方法来编写字符串和符号替换?

java - 多个Feign客户端超时配置

java - 调车场算法的问题

arrays - CAPL - 用逗号分隔字符串并设置在矩阵中

java - String 对象如何在 java 中被垃圾回收?