當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。