您好,我有一个字符串,当我尝试使用for循环中的替换方法时,它不起作用
String phrase="hello friend";
String[] wordds=phrase.split(" ");
String newPhrase="sup friendhello weirdo";
for (int g=0;g<2;g++)
{
finalPhrase+=newPhrase.replace(wordds[g],"");
}
System.out.println(finalPhrase);
它会打印出sup hello weirdo
,我希望它也会打印sup weirdo
。
我做错了什么?
发布于 2013-11-03 15:59:45
让我们一起调试它。
wordds = ["hello", "friend"]
。
newPhrase = "sup friendhello weirdo"
。
然后你在一些从0
到1
的g
上运行(应该是从0
到wordds.length
。
newPhrase.replace(wordds[g],"");
确实会根据您的需要进行替换,但是当您调试程序时,您会注意到您使用的是+=
,而不是:
newPhrase=newPhrase.replace(wordds[g],"");
生活小贴士:使用调试器,它可以帮助你。
发布于 2013-11-03 16:00:39
试试这个:
String phrase = "hello friend";
String[] wordds = phrase.split(" ");
String newPhrase = "sup friendhello weirdo";
for (int g = 0; g < 2 ; g++) {
newPhrase = newPhrase.replace(wordds[g], "");
}
System.out.println(newPhrase);
===================================================
已更新
你需要纠正的几件事
都会更新的字符串
发布于 2013-11-03 15:58:09
你在做什么,就是一直把替换的词组追加到另一个词组
newPhrase = newPhrase.replace(wordds[g],"");
https://stackoverflow.com/questions/19754799
复制