Java中replace和replaceAll都是用来替换字符串中的字符或字符串,但有一些区别。
replace是替换单个字符或字符串,而replaceAll是替换所有匹配的字符或字符串。
replace的第一个参数可以是一个字符或字符串,而replaceAll的第一个参数是一个正则表达式。
replaceAll是对字符串进行全局替换,而replace只替换第一个匹配项。
replaceAll可以使用正则表达式进行匹配和替换,而replace只能使用普通的字符匹配。
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替换了所有匹配到的字符。