温馨提示×

Java中replace与replaceAll的区别有哪些

小亿
162
2023-07-28 14:10:19
栏目: 编程语言

Java中replace和replaceAll都是用来替换字符串中的字符或字符串,但有一些区别。

  1. replace是替换单个字符或字符串,而replaceAll是替换所有匹配的字符或字符串。

  2. replace的第一个参数可以是一个字符或字符串,而replaceAll的第一个参数是一个正则表达式。

  3. replaceAll是对字符串进行全局替换,而replace只替换第一个匹配项。

  4. replaceAll可以使用正则表达式进行匹配和替换,而replace只能使用普通的字符匹配。

  5. replaceAll返回一个新的字符串,原始字符串不会发生改变,而replace直接修改原始字符串。

例如:

String str = "Hello World";
str.replace('o', 'a');
System.out.println(str); // 输出 "Hello World"
str.replaceAll("o", "a");
System.out.println(str); // 输出 "Hella Warld"
String str = "Hello World";
str.replaceFirst("o", "a");
System.out.println(str); // 输出 "Hella World"
str.replaceAll("o", "a");
System.out.println(str); // 输出 "Hella Warld"

在上面的例子中,replace只替换了第一个匹配到的字符,replaceAll替换了所有匹配到的字符。

0