永发信息网

JAVA中REPLACE和REPLACEALL的区别是什么?以及一些特殊字符替换怎么使用?

答案:1  悬赏:40  手机版
解决时间 2021-03-10 15:29
JAVA中REPLACE和REPLACEALL的区别是什么?以及一些特殊字符替换怎么使用?
最佳答案
replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

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

相同点:都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串;

不同点:replaceAll支持正则表达式,因此会对参数进行解析(两个参数均是),如replaceAll("\\d", "*"),而replace则不会,replace("\\d","*")就是替换"\\d"的字符串,而不会解析为正则。

另外还有一个不同点:“\”在Java中是一个转义字符,所以需要用两个代表一个。

例如System.out.println( "\\" ) ;只打印出一个"\"。但是“\”也是正则表达式中的转义字符,需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\,因此用replaceAll替换“\”为"\\",就要用replaceAll("\\\\","\\\\\\\\"),而replace则replace("\\","\\\\")。

如果只想替换第一次出现的,可以使用replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
所谓的云付通是什么?合法吗?
北京市朝阳区外来务工人员职务介绍中心在那
铝制品为何不宜放酸的东西
腾龙 28-200mm f3.8-5.6 镜头怎么样
水泵电机如果缺相能不能抽上来水
迷信上喜鹊可以捉弄人说法对吗?
求女生英文名 最好是由shin或sun开头的
奇迹之门柳岩怎么被换了
听说很多地方的零食店都出现了倒闭现象,本来
为什么要用安全座椅
社区平价粮油店地址在什么地方,想过去办事
【叩的读音】用“√”给加粗字选出正确的读音
含氧酸对应的酸酐是什么含义
我想开个兴趣班幼儿绘画,可我不懂,我应该学哪
电脑主机电源风扇里面胶垫的安装
推荐资讯
学机械的在机械制造工厂里可以学到哪些东西,
笔记本电脑如何插耳机
用什么泵抽水泥浆
坐飞机多大的行李需要托运
群发短信有些人收不到,有些人能收到是什么情
哪位有不用吃药能治小孩尿床的好方法。急急!
李鸿章说:“必先富而后能强,尤必富在民生而
广丰兴腾轮胎店在什么地方啊,我要过去处理事
merry me.是什么意思?谢谢
什么是同一化合物
邀请别人一起来跳舞的词语有哪些
【小盗龙】...过一期节目在鸟的进化过程中缺
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?