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