replace 和replaceAll 区别
时间: 2023-10-12 09:10:31 浏览: 98
在 Java 中,`replace` 和 `replaceAll` 都是用来替换字符串中的字符或者字符串的方法。它们的区别在于:
1. 参数不同:`replace(char oldChar, char newChar)` 接收两个字符参数,表示将字符串中所有的 `oldChar` 字符替换成 `newChar` 字符;而 `replaceAll(String regex, String replacement)` 接收两个字符串参数,表示将字符串中所有匹配正则表达式 `regex` 的子串替换成字符串 `replacement`。
2. 对正则表达式的支持:`replace` 方法不支持正则表达式,只能替换指定字符;而 `replaceAll` 方法支持正则表达式,可以根据正则表达式来替换字符串。
3. 替换次数不同:`replace` 方法只替换一次出现的指定字符,而 `replaceAll` 方法会替换所有匹配的子串。如果要替换指定位置上的字符,可以使用 `replace` 方法;如果要替换所有匹配的子串,可以使用 `replaceAll` 方法。
举个例子:
```java
String str = "hello world";
System.out.println(str.replace('l', 'L')); // 输出 heLLo worLd
System.out.println(str.replaceAll("l", "L")); // 输出 heLLo worLd
```
可以看到,`replace` 方法只替换了一次字符,而 `replaceAll` 方法替换了所有匹配的子串。
阅读全文