由于今天写项目刚用到过,于是就想把这个易错点给记录下来,毕竟我是查了资料才敢笃行到底是该用replace还是replaceAll;
这两者还是很容易搞混,因此我在这里详细讲述下。
java API
1、replace
replace(char oldChar, char newChar) || replace(CharSequence , CharSequence )
解释:replace 参数:char 或 CharSequence,即可以支持字符的替换,也支持字符串的替换;如下代码演示;
String str = "AaBaBCc123";
System.out.println("str = "+str);
String replace1 = str.replace("a", "A");
System.out.println("replace1 = "+replace1);
String replace2 = str.replace('a','A');
System.out.println("replace2 = "+replace2);
输出结果:
str = AaBaBCc123
replace1 = AABABCc123
replace2 = AABABCc123
2、replaceAll
replaceAll(String regex ,string)
解释:replaceAll的参数是regex,即支持字符串替换也支持【正则表达式】匹配替换;如下代码演示
String str = "AaBaBCc123";
System.out.println("str = "+str);
String replace3 = str.replaceAll("a","A");
System.out.println("replace3 = "+replace3);
String replace4 = str.replaceAll("\\d","D");//
System.out.println("replace3 = "+replace4);
输出结果:
str = AaBaBCc123
replace3 = AABABCc123
replace3 = AaBaBCcDDD
3、replaceFirst
与replaceAll类似,只是replaceFirst 只能替换第一次出现的字符串(顺序:从左往右);代码演示如下
String str = "AaBaBCc123";
System.out.println("str = "+str);
String replace5 = str.replaceFirst("a","A");
System.out.println("replace5 = "+replace5);
String replace6 = str.replaceFirst("\\d","A");
System.out.println("replace6 = "+replace6);
输入结果:
str = AaBaBCc123
replace5 = AABaBCc123
replace6 = AaBaBCcA23
-------------------------------------------``拓展``------------------------------------------------
1、replace 、replaceAll 有何区别?
相同点:都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串;
不同点:replaceAll支持正则表达式,因此会对参数进行解析(两个参数均是),如replaceAll("\\d", "A"),而replace则不会,replace("\\d","A")就是替换"\\d"的字符串,而不会解析为正则表达式,另外 replaceAll 只能接受String型参数,而replace 还能接受char型参 。
2、replaceAll 与 replaceFirst 区别?
相同点:既支持正则表达式匹配替换也支持字符串替换
不同点:replaceAll 能替换所有,而replaceFirst 只能替换第一次出现的字符串
3、“ \ ” 的用法
在java字符常量中,反斜杠(\)是一个特殊的字符,被称为转义字符,它的作用是用来转义后面一个字符。转义后的字符通常用于表示一个不可见的字符或具有特殊含义的字符,例如换行(\n)。所以:在字符串中表示 \ 时应转义成 \\ ,要用两个 " \ " 代表一个;
^_^小伙伴们,你们学到了吗
❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ
❤如果喜欢怂怂写的文章,就给阿怂点个关注吧!(๑′ᴗ‵๑)づ╭❤~
❤对文章有任何问题欢迎小伙伴们下方留言,阿怂看到一定会极力给予宁最满意的答复。