Mètode Java String replaceAll().
El mètode String replaceAll a Java cerca una cadena especificada o un valor especificat, o una expressió regular en virtut de la qual té el mateix suggereix que retorna una cadena nova amb caràcters relacionats. Anem a conèixer el mètode de cadena Java replaceAll en aquest article.
Java String replaceAll()
Aquest mètode substitueix cada subcadena de la cadena que coincideix amb l'expressió regular donada amb la substitució_str.
Sintaxi de Java replaceAll String
public String replaceAll(String regex, String replace_str)
Paràmetres
- regex: l'expressió regular amb la qual s'ha de fer coincidir aquesta cadena. replace_str: la cadena que substituiria l'expressió trobada.
Valor de retorn
- Aquest mètode retorna la cadena resultant.
Exemple del mètode String.replaceAll a 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'> ));> > }> }> |
Sortida
Original String : Welcome to geeksforgeeks After replacing regex with replace_str : ASTHA TYAGI
Excepcions amb String.replaceAll Java
Tot i que el mètode String replaceAll és molt eficaç a Java, però fins i tot arriba amb certes excepcions com s'esmenta a continuació:
1. Expressió regular no vàlida
L'expressió regular no és vàlida quan es passa al mètode raplaceAll(), provoca l'excepció PatternSyntaxException.
Exemple:
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);> > }> }> |
Sortida
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. Expressió regular nul·la
El mètode replaceAll() no accepta l'expressió regular nul·la, sinó que genera l'excepció NullPointerException.
Exemple:
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);> > }> }> |
Sortida
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)