永发信息网

JAVA中REPLACE和REPLACEALL的区别 以及一些特殊字符替换

答案:1  悬赏:30  手机版
解决时间 2021-03-27 13:17
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()不同的是,只替换第一次出现的字符串。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何理性对待恶意诋毁谣言
现在的高清执法记录仪什么牌子好
No sooner the competition an unexpected
老人耳朵出水还能活几久
陇西行最后两句用了什么艺术手法
腰椎骨折后什么时候可以上班
怎样在 ppt 里面画正弦曲线?
中国有哪些辣椒产地?
自己女友净身高160, 体重43kg ,胸围36B是不是
圆锥体的计算公式是什么啊,圆锥体的计算公式
电闸一直跳
xy'-ylny=0 为什么不是+C而是+lnc 如果是
呼气呐呼气那有这是什么歌
歌词开头是Baby boy 的日本歌曲名字是叫什么
求厉旭 春日 伴奏 要原版的哦
推荐资讯
若流芳千古爱的人却反目什么意思
葛优和孙红雷谁演技好
华为荣耀4c如何连高频5.0Ghzwifi
蜀山战纪2踏火行歌中有哪些难忘画面和经典台
兵贵胜,不贵久与马克思说过资产阶级当年作为
我想问一下咱们这个班车大致价位是多少钱
孩子24天总打嗝怎么回事
床垫中的天然马鬃是什么意思
小说里有叫夏末,沐剑晨的是什么小说
金正电脑(德惠大街与苹果园路交叉口旁)地址在
有盗窃罪后对孩子以后有什么影响
何为枭雄、何为奸雄、何为英雄?其之间有什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?