以下代码将str设置为“testss”
String str = "test".replaceAll("(.*)$","$1s");
以下代码将其设置为“tests”
String str = "test".replaceFirst("(.*)$","$1s");
我原本希望两个操作产生相同的结果。有人可以解释为什么replaceAll会在字符串的末尾添加额外的s?
答案 0 :(得分:5)
这是因为"(.*)$"
从"test"
,"test"
和空字符串(“”)中捕获了两个字符串。因此,replaceAll将添加两个"s"
。