logo

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




què és un personatge especial

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