当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java String replaceAll()用法及代码示例


在本教程中,我们将借助示例了解 Java String replaceAll() 方法。

replaceAll() 方法将每个与字符串的正则表达式匹配的子字符串替换为指定的文本。

示例

class Main {
  public static void main(String[] args) {
    String str1 = "Java123is456fun";

    // regex for sequence of digits
    String regex = "\\d+";

    // replace all occurrences of numeric
    // digits by a space
    System.out.println(str1.replaceAll(regex, " "));


  }
}

// Output: Java is fun

用法:

用法:

string.replaceAll(String regex, String replacement)

这里,stringString 类的对象。

参数:

replaceAll() 方法采用两个参数。

  • regex- 要替换的正则表达式(可以是典型的字符串)
  • replacement- 匹配的子字符串被替换为这个字符串

返回:

replaceAll() 方法

  • 返回一个新字符串,其中每次出现的匹配子字符串都替换为替换 String 。

示例 1:Java 字符串 replaceAll()

class Main {
  public static void main(String[] args) {
    String str1 = "aabbaaac";
    String str2 = "Learn223Java55@";

    // regex for sequence of digits
    String regex = "\\d+";

    // all occurrences of "aa" is replaceAll with "zz"
    System.out.println(str1.replaceAll("aa", "zz"));  // zzbbzzac


    // replace a digit or sequence of digits with a whitespace
    System.out.println(str2.replaceAll(regex, " "));  // Learn Java @


  }
}

在上面的例子中,"\\d+"是匹配一个或多个数字的正则表达式。要了解更多信息,请访问Java 正则表达式.

replaceAll() 中的转义字符

replaceAll() 方法可以将正则表达式或典型字符串作为第一个参数。这是因为一个典型的字符串本身就是一个正则表达式。

在正则表达式中,有些字符具有特殊含义。这些元字符是:

\ ^ $ . | ? * + {} [] ()

如果您需要匹配包含这些元字符的子字符串,您可以使用\ 转义这些字符或使用replace() 方法。

// Program to replace the + character
class Main {
  public static void main(String[] args) {
    String str1 = "+a-+b";

    // replace "+" with "#" using replaceAll()
    // need to escape "+"
    System.out.println(str1.replaceAll("\\+", "#"));  // #a-#b


    // replace "+" with "#" using replace()
    System.out.println(str1.replace("+", "#"));  // #a-#b

  }
}

如您所见,当我们使用replace() 方法时,我们不需要转义元字符。要了解更多信息,请访问:Java String replace()

如果您只需要替换匹配子字符串的第一个匹配项,请使用Java String replaceFirst() 方法。

相关用法


注:本文由纯净天空筛选整理自 Java String replaceAll()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。