logo

Metoda Java String zamieńAll().

Metoda String zamieńAll w Javie wyszukuje określony ciąg znaków lub określoną wartość lub wyrażenie regularne, na mocy którego ma to samo, co sugeruje, zwraca nowy ciąg znaków z powiązanymi znakami. W tym artykule dowiemy się o metodzie łańcuchowej zastępczej języka Java.

Łańcuch Java zamień wszystko()

Ta metoda zastępuje każdy podciąg ciągu pasującego do danego wyrażenia regularnego z podanym parametrem zamiany.

Składnia Java zamieńAll String

public String replaceAll(String regex, String replace_str)>

Parametry

    regex: wyrażenie regularne, do którego ma zostać dopasowany ten ciąg. zamień_str: ciąg znaków, który zastąpi znalezione wyrażenie.

Wartość zwracana

  • Ta metoda zwraca wynikowy ciąg.

Przykład metody String.replaceAll w Javie

Jawa






// 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'>));> >}> }>

>

>

Wyjście

Original String : Welcome to geeksforgeeks After replacing regex with replace_str : ASTHA TYAGI>

Wyjątki z String.replaceAll Java

Chociaż metoda String zamieńAll jest bardzo skuteczna w Javie, ale nawet ona zawiera pewne wyjątki, o których mowa poniżej:

1. Nieprawidłowe wyrażenie regularne

Nieprawidłowe wyrażenie regularne przekazane w metodzie raplaceAll(), wywołuje wyjątek PatternSyntaxException.

Przykład:

Jawa




// 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);> >}> }>

>

>

Wyjście

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.(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. Wyrażenie regularne o wartości null

Wyrażenie regularne o wartości null nie jest akceptowane przez metodę zamianyAll(), powoduje to zgłoszenie wyjątku NullPointerException.

Przykład:

Jawa




wstaw znak wodny w słowie

// 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);> >}> }>

>

>

Wyjście

Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.regex.Pattern.(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)>