Java-String-replaceAll()-Methode

Die String-ReplaceAll-Methode in Java sucht nach einer angegebenen Zeichenfolge oder einem angegebenen Wert oder einem regulären Ausdruck, der aufgrund dessen eine neue Zeichenfolge mit zugehörigen Zeichen zurückgibt. Lassen Sie uns in diesem Artikel mehr über die Java-String-Methode „replaceAll“ erfahren.

Java-String replaceAll()

Diese Methode ersetzt jeder Teilstring der Zeichenfolge, die dem angegebenen regulären Ausdruck mit der angegebenen replace_str entspricht.

Syntax von Java replaceAll String

public String replaceAll(String regex, String replace_str) 

Parameter

    regex: der reguläre Ausdruck, mit dem diese Zeichenfolge abgeglichen werden soll. replace_str: die Zeichenfolge, die den gefundenen Ausdruck ersetzen würde.

Rückgabewert

  • Diese Methode gibt den resultierenden String zurück.

Beispiel für die String.replaceAll-Methode in Java

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

Ausgabe

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

Ausnahmen mit String.replaceAll Java

Obwohl die String-ReplaceAll-Methode in Java sehr effektiv ist, kommt es dennoch zu bestimmten Ausnahmen, wie unten erwähnt:

1. Ungültiger regulärer Ausdruck

Ungültiger regulärer Ausdruck löst bei Übergabe in der raplaceAll()-Methode eine PatternSyntaxException aus.

Beispiel:

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

Ausgabe

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. Null regulärer Ausdruck

Der reguläre Nullausdruck wird von der Methode replaceAll() nicht akzeptiert, er löst die NullPointerException aus.

Beispiel:

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

Ausgabe

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)