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() 是目标字符串中全部匹配的字符 或 字符串替换,从结果来看这个认知是错误的。

 

 

  

来一道刷了进BAT的面试题?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM