浅谈java中replace()和replaceAll()的区别

本文主要介绍java中replace()和replaceAll()的区别,两者都是常用的替换字符的方法。感兴趣的朋友可以参考一下。

Replace和replaceAll是JAVA中替换字符的常用方法。他们的不同之处在于:

1)replace的参数是char和CharSequence,即可以支持字符的替换,同样支持字符串的替换(CharSequence的意思是字符串序列,也就是通俗英语中的字符串);

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

相同点:all replaceAll,即用指定的字符或字符串替换源字符串中的所有字符或字符串。如果只想替换第一个匹配项,可以使用replaceFirst()。这个方法也是基于正则表达式的,但是和replaceall()不同,只替换第一次出现的字符串;

另外,如果replaceAll()和replaceFirst()使用的参数不是基于正则表达式,那么用replace()替换字符串的效果是一样的,即两者也都支持字符串操作;

再说明一点:替换操作后,源字符串的内容不变。

例子如下:

String src=新字符串(' ab 43 a 2c 43d ');

system . out . println(src . replace(' 3 ',' f ');=ab4f2c4fd。

system . out . println(src . replace(' 3 ',' f ');=ab4f2c4fd。

system . out . println(src . replace all(' \ \ d ',' f ');=abffafcffd。

system . out . println(src . replace all(' a ',' f ');=fb43fc23d。

system . out . println(src . replace first(' \ \ d,' f ');=abf32c43d

system . out . println(src . replace first(' 4 ',' h ');=abh32c43d。

如何将字符串中的“”替换为“\”:

字符串msgIn

字符串msgOut

msgOut=msgIn.replaceAll('\\\ ',' \ \ \ \ \ \ \ ');

原因:

在java中是转义字符,所以需要用两个来表示一个。比如system . out . println(' \ ');只打印了一个“”。但是,' \ '在正则表达式中也是转义符(replaceAll的参数是正则表达式),需要两个来表示一个。于是:\ \ \被java转换成\ \了,\ \被正则表达式转换成了。

相同的

代码:\\\\\\\\

Java: \\\\

正则表达式:\\

将字符串中的“/”替换为“\”的几种方法:

msgOut=msgIn.replaceAll('/',' \ \ \ ');

msgOut=msgIn.replace('/',' \ ');

msgOut=msgIn.replace('/',' \ \ ');

java中replace()和replaceAll()的区别通过例子来区分。希望这篇文章对你学习有帮助。

原文地址:http://www.ccttoo.com/html/1091.html

本文来自网络,不代表菜鸟教程之家立场,转载请注明出处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值