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替换了所有匹配到的字符。