gpt4 book ai didi

java - String#replace 在我的方法中不起作用

转载 作者:行者123 更新时间:2023-12-01 07:10:25 28 4
gpt4 key购买 nike

当我得到一个包含一些通配符(例如 ⋍𖫻)的 HTML 文件时,我想用项目符号替换它们。所以我写了这个方法:

public String replaceAmps(String initial)
{
// This list will contain all the &amps; to replace.
ArrayList<String> amps = new ArrayList<String>();
String res = initial;
int index = initial.indexOf("&amp;");
// Get all the indexes of &amp.
while (index >= 0)
{
StringBuilder stb = new StringBuilder("&amp;");
// Create a String until the next ";", for example &amp;#1091;<- this one
for(int i = index+5 ; initial.charAt(i) != ';' ; i++) stb.append(initial.charAt(i));
stb.append(";");
// Add the amp if needed in the list.
if(!amps.contains(stb.toString())) amps.add(stb.toString());
index = initial.indexOf("&amp;", index + 1);
}
// Replace the Strings from the list with a bullet.
for(String s : amps) res.replace(s, "•");
return res;
}

我正确地获取了列表中的所有放大器,但替换不起作用。为什么?感谢您的帮助。

最佳答案

字符串是不可变的; replace方法返回一个新的 String 作为替换结果,并且不会修改 res。尝试一下

for(String s : amps) res = res.replace(s, "•");

关于java - String#replace 在我的方法中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512563/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com