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

标签 java string replace

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

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 ");

最佳答案

您需要进行两项更改:

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

所以你的代码应该是这样的:

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

您可能还想考虑您希望“非常”或“非常”发生什么。例如,您可能希望它分别变为“极度”和“极度”。

关于java - 如何用java中的另一个单词替换字符串中所有出现的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3223791/

相关文章:

java.util.ConcurrentModificationException 与迭代器(字符移动)

java - Getter 方法返回错误值

c++ - 从字符串派生的类

r 将不等于 1 或 2 或 3 的值替换为其他值

javascript - 正则表达式(Regex) on CSS3 Transform String

java - 如何在 Web 上下文中设置 RabbitMQ RPC

java - hibernate : C3p0 pool configuration slowing down entire server.

string - "count"字符串的结果 "pattern"没有得到打印。这是代码

JavaScript 正则表达式,仅在句点之间以大写字母开头句子

windows - 在文件中查找和替换的好工具?