说我有一个字符串,
String templatePhrase = "I have a string that needs changing";
我还有一个替换任何给定String中的单词的方法。这是方法:
public String replace(String templatePhrase, String token, String wordToPut) {
return templatePhrase.replace(token, wordToPut);
}
现在说(为了我的实际任务)我在名为str
的列表中的字符串wordsInHashtags
中包含了所有单词。我想循环遍历wordsInHashtags
中的所有字词,并使用replacement
方法将其替换为另一个名为replace()
的列表中的字词。每次循环迭代时,都应该保存修改后的String,以便它保存下一个循环的替换。
我会发布我的代码,如果有人想看到它,但我认为它会比帮助更混乱,而我感兴趣的是一种保存修改后的String以便在循环的下一次迭代中使用的方法。
答案 0 :(得分:0)
前几天我刚刚开始读Java 2中的字符串:“字符串对象是不可变的”基本上不能改变但是StringBuffer对象是为了处理我所理解的情况而创建的。你可以尝试:
StringBuffer templatePhrase = "I have a string to be changed";
templatePhrase.replace(token, wordToPut);
String replacedString = (String)templatePhrase;
第3行可能会导致问题吗?
答案 1 :(得分:0)
public class Rephrase {
public static void main(String[] args) {
/***
Here is some code that might help to change word in string. originally this is a Question from Absolute Java 5th edition. It will change two variable whatever you want but algorithm never change.So the input from keyboard or any other input source.
********/
String sentence = "I hate you";
String replaceWord = " hate";
String replacementWord = "love";
int hateIndex = sentence.indexOf(replaceWord);
String fixed = sentence.substring(0,hateIndex)+" "+replacementWord+sentence.substring(hateIndex+replaceWord.length());
System.out.println(fixed);
}
}