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)