Java仅替换字符串中第一次出现的子字符串

时间:2014-02-20 18:49:44

标签: java string replace

这在某种程度上是在java中的问题Ruby - replace the first occurrence of a substring with another string的重复。

问题是:

我有一个字符串:"ha bla ha ha"

现在我想用"ha"替换第一个(仅限第一个)"gurp"

"gurp bla ha ha"

string.replace("ha", "gurp")不起作用,因为它取代了所有"ha"

3 个答案:

答案 0 :(得分:7)

试试the replaceFirst method。它使用正则表达式,但文字序列"ha"仍然有效。

string.replaceFirst("ha", "gurp");

答案 1 :(得分:2)

尝试使用replaceFirst()(从Java 1.4开始提供),它可以满足您的需求:

string = string.replaceFirst("ha", "gurp");

答案 2 :(得分:2)

您应该使用已经过测试且记录良好的库来支持编写自己的代码!

StringUtils.replaceOnce("aba", "a", "")    = "ba"

(复制自如何在Java中仅使用正则表达式替换字符串一次?)