我该如何更换? 我一直在尝试这个:
string.replaceFirst(substring, "");
但它没有替换,因为我正在做一个递归方法,它给了我一个StackOverflowException ..
有什么想法吗?
答案 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)。