假设我有以下代码:
String word1 = "bar";
String word2 = "foo";
String story = "Once upon a time, there was a foo and a bar."
story = story.replace("foo", word1);
story = story.replace("bar", word2);
这段代码运行后,story
的值将是“从前,有一个foo和一个foo。”
如果我以相反的顺序替换它们会出现类似的问题:
String word1 = "bar";
String word2 = "foo";
String story = "Once upon a time, there was a foo and a bar."
story = story.replace("bar", word2);
story = story.replace("foo", word1);
story
的值将是“从前,有一个酒吧和一个酒吧。”
我的目标是把story
变成“从前,有一个酒吧和一个foo。”
我怎么能做到呢?
最佳答案
使用 replaceEach()
方法来自 Apache Commons StringUtils :
StringUtils.replaceEach(story, new String[]{"foo", "bar"}, new String[]{"bar", "foo"})
关于java - 如何以一个不会最终替换另一个字符串的方式替换两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791441/