logo

Método Java String replaceAll()

El método String replaceAll en Java busca una cadena específica o un valor específico, o una expresión regular en virtud de la cual tiene la misma sugerencia devuelve una nueva cadena con caracteres relacionados. Aprendamos sobre el método de cadena de reemplazo de Java en este artículo.

Cadena Java reemplazar todo()

Este método reemplaza cada subcadena de la cadena que coincide con la expresión regular dada con la cadena_reemplazo dada.

Sintaxis de Java reemplazar todas las cadenas

public String replaceAll(String regex, String replace_str)>

Parámetros

    regex: la expresión regular con la que se debe hacer coincidir esta cadena. replace_str: la cadena que reemplazaría la expresión encontrada.

Valor de retorno

  • Este método devuelve la cadena resultante.

Ejemplo de método String.replaceAll en 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'>));> >}> }>

>

>

Producción

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

Excepciones con String.replaceAll Java

Aunque el método String replaceAll es muy efectivo en Java, incluso presenta ciertas excepciones como se menciona a continuación:

1. expresión regular no válida

Una expresión regular no válida cuando se pasa en el método raplaceAll() genera PatternSyntaxException.

Ejemplo:

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

>

>

Producción

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. Expresión regular nula

La expresión regular nula no es aceptada por el método replaceAll(), genera la excepción NullPointerException.

Ejemplo:

Java




contar distinto

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

>

>

Producción

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