替换String java中的单词

时间:2013-12-01 03:39:59

标签: java string replace

说我有一个字符串,

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以便在循环的下一次迭代中使用的方法。

2 个答案:

答案 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);
}

}