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


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


Java中的String ReplaceAll方法搜索指定的字符串或指定的值,或者具有相同建議的正則表達式,返回具有相關字符的新字符串。讓我們在這篇文章中了解一下Java的replaceAll字符串方法。

Java 字符串 replaceAll()

此方法將與給定正則表達式匹配的字符串的每個子字符串替換為給定的 replace_str。

Java 替換所有字符串的語法

public String replaceAll(String regex, String replace_str)

參數

  • regex:該字符串要匹配的正則表達式。
  • replace_str:將替換找到的表達式的字符串。

返回值

  • 該方法返回結果字符串。

Java 中String.replaceAll 方法的示例

Java


// Java code to demonstrate the
// working of replaceAll()
public class rep2 {
    public static void main(String args[])
    {
        // Initialising String
        String Str = new String("Welcome to geeksforgeeks");
        // original string
        System.out.print("Original String : ");
        System.out.println(Str);
        // Using replaceAll to replace regex with
        // replace_str
        System.out.print(
            "After replacing regex with replace_str : ");
        System.out.println(
            Str.replaceAll("(.*)geeks(.*)", "ASTHA TYAGI"));
    }
}
輸出
Original String : Welcome to geeksforgeeks
After replacing regex with replace_str : ASTHA TYAGI

String.replaceAll Java 的異常

雖然 String ReplaceAll 方法在 Java 中非常有效,但即使它也會出現某些異常,如下所述:

1. 無效的正則表達式

在 raplaceAll() 方法中傳遞無效的正則表達式時,會引發 PatternSyntaxException。

例子:

Java


// Java Program to demonstrate
// replaceAll() method
import java.io.*;
// Driver class
class GFG {
    // main function
    public static void main(String[] args)
    {
        // input string
        String str = "GFG";
        System.out.println(str);
        // NULL Regular expression
        String regex = "\\";
        // Passing null expression in
        // replaceAll method
        str = str.replaceAll(regex, " ");
        System.out.println(str);
    }
}

輸出

Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
    at java.base/java.util.regex.Pattern.error(Pattern.java:2027)
    at java.base/java.util.regex.Pattern.compile(Pattern.java:1788)
    at java.base/java.util.regex.Pattern.<init>(Pattern.java:1428)
    at java.base/java.util.regex.Pattern.compile(Pattern.java:1068)
    at java.base/java.lang.String.replaceAll(String.java:2126)
    at GFG.main(GFG.java:11)

2. 空正則表達式

replaceAll() 方法不接受 null 正則表達式,它會引發 NullPointerException。

例子:

Java


// Java Program to demonstrate
// replaceAll() method
import java.io.*;
// Driver class
class GFG {
    // main function
    public static void main(String[] args)
    {
        // input string
        String str = "GFG";
        System.out.println(str);
        // NULL Regular expression
        String regex = null;
        // Passing null expression in
        // replaceAll method
        str = str.replaceAll(regex, " ");
        System.out.println(str);
    }
}

輸出

Exception in thread "main" java.lang.NullPointerException
    at java.base/java.util.regex.Pattern.<init>(Pattern.java:1426)
    at java.base/java.util.regex.Pattern.compile(Pattern.java:1068)
    at java.base/java.lang.String.replaceAll(String.java:2126)
    at GFG.main(GFG.java:11)


相關用法


注:本文由純淨天空篩選整理自佚名大神的英文原創作品 Java String replaceAll() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。