replace与replaceAll的区别

1.replace
replace中的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2.replaceAll
replaceAll()中,第一个参数并不是普通意义上的字符串, 而是一个正则表达式; 意思是将对象中与第一个参数所表示的正则表达式相匹配的地方用第二个参数所表示的字符串替换。

相同点:都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串;
不同点:replaceAll支持正则表达式,因此会对参数进行解析(两个参数均是),如replaceAll(“\d”, ““),而replace则不会,replace(“\d”,”“)就是替换”\d”的字符串,而不会解析为正则。

需要注意的是:Java中反斜杠“\”是一个特殊字符, 表示转义.。比如你想输出两个引号:” “, 那么你在字符串中就需要这样写:\” \”, 因为” 在java中是特殊字符,需要被转义才行.。同样, 如果你想输出一个 \, 那么你需要在字符串中这样写: \, 其中第一个反斜杠表示转义,这样就使得后面的反斜杠具有最一般的意思。

 String test = "ab1993cd0812cc";
 test = test.replace("a", "b");
 System.out.println(test);

这里把字符串中的“a”替换成“b”;

String test = "ab1993cd0812cc";
test = test.replaceAll("a", "BBQ");
System.out.println(test);

这里把字符传中的“a”替换成“BBQ”;

其实这两个方法在使用时根据你的需求可以很好的区分要使用哪一种,如果只需要替换其中一个字符或字符串使用replace,如果是替换规则比较明显的字符串使用replaceAll,然后可以去看正则表达式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值