El método replaceAll() de la clase Java String devuelve una cadena que reemplaza toda la secuencia de caracteres que coinciden con la expresión regular y la cadena de reemplazo.
Firma
public String replaceAll(String regex, String replacement)
Parámetros
expresión regular : expresión regular
reemplazo : secuencia de reemplazo de caracteres
Devoluciones
cadena reemplazada
Lanzamientos de excepción
PatternSyntaxException: si la sintaxis de la expresión regular no es válida.
Implementación interna
public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }
Ejemplo de Java String replaceAll(): reemplazar carácter
Veamos un ejemplo para reemplazar todas las apariciones de un solo personaje .
c# contiene cadena
Nombre del archivo: ReplaceAllExample1.java
public class ReplaceAllExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replaceAll('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}Pruébalo ahora
Producción:
jevetpoint is e very good website
Ejemplo de Java String replaceAll(): reemplazar palabra
Veamos un ejemplo para reemplazar todas las ocurrencias de un una sola palabra o conjunto de palabras .
cambiar java
Nombre del archivo: ReplaceAllExample2.java
public class ReplaceAllExample2{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}Pruébalo ahora
Producción:
My name was Khan. My name was Bob. My name was Sonoo.
Ejemplo de Java String replaceAll(): eliminar espacios en blanco
Veamos un ejemplo para eliminar todas las apariciones de espacios en blanco .
Nombre del archivo: ReplaceAllExample3.java
public class ReplaceAllExample3{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('\s',''); System.out.println(replaceString); }}Pruébalo ahora
Producción:
MynameisKhan.MynameisBob.MynameisSonoo.
Ejemplo 4 del método Java String replaceAll()
El método replaceAll() genera PatternSyntaxException cuando hay una expresión regular incorrecta. mira el siguiente ejemplo.
Nombre del archivo: ReplaceAllExample4.java
public class ReplaceAllExample4 { // main method public static void main(String argvs[]) { // input string String str = 'For learning Java, JavaTpoint is a very good site.'; System.out.println(str); String regex = '\'; // the regular expression is not valid. // invoking the replaceAll() method raises the PatternSyntaxException str = str.replaceAll(regex, 'JavaTpoint '); System.out.println(str); } }
Producción:
For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2015) at java.base/java.util.regex.Pattern.compile(Pattern.java:1784) at java.base/java.util.regex.Pattern.(Pattern.java:1427) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceExample4.main(ReplaceExample4.java:12)
Ejemplo 5 del método Java String replaceAll()
El método replaceAll() también se puede utilizar para insertar espacios entre caracteres.
búsqueda binaria
Nombre del archivo: ReplaceAllExample5.java
public class ReplaceAllExample5 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = ''; // adding a white space before and after every character of the input string. str = str.replaceAll(regex, ' '); System.out.println(str); } }
Producción:
JavaTpoint J a v a T p o i n t
Ejemplo 6 del método Java String replaceAll()
Incluso la expresión regular nula tampoco es aceptada por el método replaceAll() ya que se genera la excepción NullPointerException.
Nombre del archivo: ReplaceAllExample6.java
public class ReplaceAllExample6 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = null; // regular expression is null str = str.replaceAll(regex, ' '); System.out.println(str); } }
Producción:
JavaTpoint 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 ReplaceAllExample6.main(ReplaceAllExample6.java:13)