一、引數不同
replace的引數是char和CharSequence,既可以支援字元的替換,也支援字串的替換。
replaceAll的引數是regex,即基於規則表示式的替換,比如,可以透過replaceAll("\\d", "*")把一個字串所有的數字字元都換成星號。
二、替換結果不同
replace只替換第一個出現的字元(受javascript的影響),replaceall替換所有的字元,簡而言之,replace用新串序列替換舊串序列,而replaceall是用新串替換與前面正則表示式相匹配的位置的字串。
三、用法不同
replaceAll支援正則表示式,replace不支援。
例如:
字串中多個空格轉成一個空格。
public class TestString
{
public static void main(String[] args)
String s = " ";
System.out.println("a" + s.replaceAll(" +", " ") + "b");
System.out.println("a" + s.replace(" +", " ") + "b");
}
一、引數不同
replace的引數是char和CharSequence,既可以支援字元的替換,也支援字串的替換。
replaceAll的引數是regex,即基於規則表示式的替換,比如,可以透過replaceAll("\\d", "*")把一個字串所有的數字字元都換成星號。
二、替換結果不同
replace只替換第一個出現的字元(受javascript的影響),replaceall替換所有的字元,簡而言之,replace用新串序列替換舊串序列,而replaceall是用新串替換與前面正則表示式相匹配的位置的字串。
三、用法不同
replaceAll支援正則表示式,replace不支援。
例如:
字串中多個空格轉成一個空格。
public class TestString
{
public static void main(String[] args)
{
String s = " ";
System.out.println("a" + s.replaceAll(" +", " ") + "b");
System.out.println("a" + s.replace(" +", " ") + "b");
}
}