1、替换方式不同
【public String replace( )】
是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
【public String replaceAll( )】
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
2、参数不同
【replace】的参数是char和CharSequence。可以支持字符的替换,也支持字符串的替换。
【replaceAll】的参数是regex,regex表示是正则表达式。即基于正则表达式的替换。
用法范例一:
public static void main(String[] arg) throws OgnlException {
String s =”sdf\\a\\aa”;
//把s中的反斜杠\ 替换为\\
System.out.println(s);
System.out.println(s.replaceAll(“\\\\”, “\\\\\\\\”));
System.out.println(s.replace(“\\”, “\\\\”));
}
用法范例二:
String str = "wel2come3Souhe";
String str1 = str.replace("e", "E");
String str3 = str.replace('e', 'E');
System.out.println("replace字符串==" + str1);
System.out.println("replace字符=="+str3);
String str2 = str.replaceAll("\\d", "a");//将数字替换a
System.out.println("replaceAll==" + str2);
输出结果:
replace字符串==wEl2comE3SouhE
replace字符==wEl2comE3SouhE
replaceAll==welacomeaSouhe
扩展资料
Java中的String类
1、String类是final类,因此String类不能被继承。
2、String的成员方法都默认为final方法。
3、被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。
4、String类其实是通过char数组来保存字符串的。
5、String对象一旦被创建就是固定不变的。
6、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。
参考资料:百度百科-Java
参考资料:百度百科-string
replace是单纯的替换字符串,而replaceAll是替换匹配的正则表达式。
以下为JDK API的doc说明:
replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。