如何用java中的另一个单词替换字符串中所有出现的单词?

时间:2010-07-11 16:31:06

标签: java string replace

我想将长字符串中所有出现的单词替换为另一个单词,例如,如果我想在下面的字符串中更改所有出现的单词“very”和“extreme”。

string story = "He became a well decorated soldier in the line of fire when he and his men walked into the battle. He acted very bravely and he was very courageous."

我想我会使用replaceAll()方法,但我只是插入诸如

之类的字词
story.replaceAll("very ", "extremely ");

3 个答案:

答案 0 :(得分:15)

您需要进行两项更改:

  • 字符串在Java中是不可变的 - replaceAll方法不会修改字符串 - 它会创建一个新字符串。您需要将回调结果分配给变量。
  • 使用字词边界('\b'),否则every将成为eextremely

所以你的代码看起来像这样:

story = story.replaceAll("\\bvery\\b", "extremely");

您可能还想考虑“非常”或“非常”想要发生的事情。例如,您可能希望它分别变为“极端”和“极端”。

答案 1 :(得分:1)

story = story.replaceAll("very ", "extremely ");

答案 2 :(得分:-1)

消息= message.replaceAll( “\\ B” +字+ “\\ B”,newword);