String对象中的replace和replaceAll的区别?

Posted constxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String对象中的replace和replaceAll的区别?相关的知识,希望对你有一定的参考价值。

replace方法:支持字符和字符串的替换。

public String replace(char oldChar, char newChar)
 
public String replace(CharSequence target, CharSequence replacement)

 

 

replaceAll方法:基于正则表达式的字符串替换。

public String replaceAll(String regex, String replacement)

 

 

测试代码:

String str = "Hello Java. Java is a language.";
System.out.println(str.replace("Java.", "c++"));//打印 Hello c++ Java is a language.
System.out.println(str.replaceAll("Java.", "c++"));//打印 Hello c++ c++is a language.

 

打印结果:

Hello c++ Java is a language.
Hello c++ c++is a language.

 

ps:曾一度认为 replace() 是首个匹配的 字符 或 字符串 替换,replaceAll() 是目标字符串中全部匹配的字符 或 字符串替换,从结果来看这个认知是错误的。

 

 


技术图片

 

所有资源资源汇总于公众号

技术图片

以上是关于String对象中的replace和replaceAll的区别?的主要内容,如果未能解决你的问题,请参考以下文章

thymeleaf 中 String 对象的 #strings.replace() 实用程序方法是不是替换了提供的字符串中的所有匹配项?

String对象的Replace()

详解JavaScript中的replace()函数

java中的string类中内容一旦被初始化就不能改变为啥还有replace方法呢?

preg_replace/string_replace 符号 - 或 * 到空格

StringBuilder与string的Replace方法的区别