Java中replace、replaceAll和replacFirst的区别

时间 : 21-01-04 栏目 : Java技术 作者 : 冰镇宝贝321 评论 : 0 点击 : 1,583 次

一、replace、replaceAll和replaceFirst的用法

1、replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。
2、replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex是个正则表达式,replacement是字符串。
3、replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。

即replace没有使用正则表达式,而replaceAll和replaceFirst使用了正则表达式。

二、代码实例解析

String str="my.java.web.html";
String str1=str.replace(".", "#");
String str2=str.replaceAll(".", "#");
String str3=str.replaceFirst(".", "#");
System.out.println(str1);//my#java#web#html
System.out.println(str2);//################
System.out.println(str3);//#y.java.web.html

使用replaceAll函数将所有的字符全部替换成“#”和使用replaceFirst函数将第一个不匹配字符替换成“#”的原因是:replaceAll和replaceFirst函数中都使用了正则表达式,“.”是正则表达式的元字符,匹配除换行符以外的任意字符,所以replaceAll、replaceFirst才出现了这样的结果。

三、解决方案

将元字符转义即可。

String str="my.java.web.html";
String str1=str.replace(".", "#");
String str2=str.replaceAll("\\.", "#");
String str3=str.replaceFirst("\\.", "#");
System.out.println(str1);//my#java#web#html
System.out.println(str2);//my#java#web#html
System.out.println(str3);//my#java.web.html


本文标签 ,

除非注明,文章均为( 冰镇宝贝321 )原创,转载请保留链接: https://bkqv5.com/archives/558.html

Java中replace、replaceAll和replacFirst的区别:等您坐沙发呢!

发表评论




0