我可以使用什么替换方法来替换String中的子字符串?

时间:2010-12-25 14:44:56

标签: java replace stack-overflow

我该如何更换? 我一直在尝试这个:

string.replaceFirst(substring, "");

但它没有替换,因为我正在做一个递归方法,它给了我一个StackOverflowException ..

有什么想法吗?

4 个答案:

答案 0 :(得分:8)

字符串是不可变的,这意味着一旦初始化它们就无法更改它们。

replaceFirst方法创建一个新字符串,其中第一个实例被替换替换并返回...原始字符串永远不会被修改。

你的代码应该是这样的

string = string.replaceFirst(substring,"")

答案 1 :(得分:3)

除了字符串是不可变的其他回复之外,请注意replaceFirst接受正则表达式而不是子字符串。 (在某些情况下,两者可能相同但不是全部)。无论哪种方式,这很可能与您的StackOverflowException无关。

答案 2 :(得分:2)

此方法不修改当前String。它返回带有替换的新字符串。 String newString = string.replaceFirst(substring,“”);

答案 3 :(得分:0)

使用此:

  

string = string.replaceAll(substring,replacement_string)。