浅谈Java中replace与replaceAll区别

时间:2022-05-06 15:51:22

看门见山

1.java中replace API:

replace(char oldChar, char newChar):寓意为:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

replace(CharSequence target, CharSequence replacement):寓意为:使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。

replaceAll(String regex, String replacement):寓意为:使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

可以看出replace的参数是char与CharSequence,而replaceAll参数为regex(正则表达式)与replacement

2.举个栗子:

@Test
 public void testString(){
  String str="wel2come3Souhe0";
  System.out.println(str.replace("e","E"));
  System.out.println(str.replace('e','E'));
  System.out.println(str.replaceAll("\\d","A"));
  System.out.println(str.replaceAll("3","9"));
 }

执行结果为:

1 wEl2comE3SouhE0
2 wEl2comE3SouhE0
3 welAcomeASouheA
4 wel2come9Souhe0

3.总结结果:replace替换字符与字符串都是一样的,replace可以根据除了字符串替换外还可以正则表达式来进行替换;

4.多了解一个:

replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

举个栗子:

 @Test
2  public void testString(){
3   String str="wel2come3Souhe0";
4   System.out.println(str.replaceFirst("\\d","A"));
5  }

执行结果为:

welAcome3Souhe0

 总结:只替换第一次出现的匹配的正则表达式;

完毕!

使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

以上所述是小编给大家介绍的Java中replace与replaceAll区别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!