String 类中replace 和replaceAll方法的区别
的有关信息介绍如下:一、参数不同
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");
}
}