您的位置首页百科知识

String 类中replace 和replaceAll方法的区别

String 类中replace 和replaceAll方法的区别

的有关信息介绍如下:

一、参数不同

replace的参数是char和CharSequence,既可以支持字符的替换,也支持字符串的替换。

replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号。

二、替换结果不同

replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,简而言之,replace用新串序列替换旧串序列,而replaceall是用新串替换与前面正则表达式相匹配的位置的字符串。

String 类中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");

}

}