时间 : 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