Dada una string, su tarea es eliminar los espacios en blanco en la string usando Java Regex (Expresiones regulares).
Ejemplos
Input : Hello Everyone . Output : HelloEveryone. Input : Geeks for Geeks . Output : GeeksforGeeks.
Expresiones regulares
Regular Expressions o Regex es una API para definir patrones de strings que se pueden usar para buscar, manipular y editar una string en Java. La validación de correo electrónico y las contraseñas son algunas áreas de strings donde Regex se usa ampliamente para definir las restricciones. Las expresiones regulares se proporcionan en el paquete java.util.regex .
Enfoques
Existen numerosos enfoques para eliminar los espacios en blanco en la string usando Regex en Java. Algunos de ellos se enumeran a continuación.
- Usando el método Regex.Matcher.replaceAll()
- Usando el método appendReplacement()
1. Usando el método Matcher.replaceAll()
El método java.util.regex.Matcher.replaceAll(String replacement ) reemplaza cada subsecuencia de la secuencia de entrada que coincide con el patrón con la string de reemplazo dada.
Declaración:
public String replaceAll(String replacement)
Parámetros: reemplazo: la string de reemplazo.
Valor devuelto: la string se construye reemplazando cada subsecuencia coincidente con la string de reemplazo, sustituyendo las subsecuencias capturadas según sea necesario.
El siguiente programa demuestra cómo eliminar los espacios en blanco usando un método matcher.replaceAll (reemplazo de strings) de la clase util.regex.Pattern .
Java
// Java program to remove whitespaces from a string import java.util.regex.Matcher; import java.util.regex.Pattern; public class GeeksforGeeks { public static String removeWhite(String s) { // Creating a pattern for whitespaces Pattern patt = Pattern.compile("[\\s]"); // Searching patt in s. Matcher mat = patt.matcher(s); // Replacing return mat.replaceAll(""); } public static void main(String[] argv) { String s = " Hello Geeks . "; System.out.println(removeWhite(s)); } }
HelloGeeks.
2. Usando el método appendReplacement()
El método appendReplacement(StringBuilder, String) de Matcher Class se comporta como un método de agregar y reemplazar. Este método lee la string de entrada y la reemplaza con el patrón coincidente en la string del comparador.
Sintaxis:
public Matcher appendReplacement(StringBuilder builder, String stringToBeReplaced)
Parámetros: Este método toma dos parámetros:
- builder : que es el StringBuilder que almacena la string de destino.
- stringToBeReplaced : que es la string que se reemplazará en el comparador.
Valor de retorno: este método devuelve un Matcher con la string de destino reemplazada.
Excepción: este método arroja las siguientes excepciones:
- IllegalStateException : si aún no se ha intentado ninguna coincidencia o si la operación de coincidencia anterior falló.
- IllegalArgumentException : si la string de reemplazo hace referencia a un grupo de captura con nombre que no existe en el patrón.
- IndexOutOfBoundsException : si la string de reemplazo hace referencia a un grupo de captura que no existe en el patrón.
El siguiente programa demuestra cómo eliminar los espacios en blanco usando un método matcher.appendReplacement(StringBuilder builder, String stringToBeReplaced) de la clase util.regex.Pattern .
Java
// Java program to remove the whiltespaces // in a string using Java Regex import java.util.regex.Matcher; import java.util.regex.Pattern; class GFG { public static void main (String[] args) { String input = " Geeks for Geeks "; String regex = "\\s"; String constants = ""; // Creating a pattern object Pattern pattern = Pattern.compile(regex); // Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); // Creating an empty string buffer StringBuffer sb = new StringBuffer(); while (matcher.find()) { constants = constants+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println(sb.toString()+constants); } }
GeeksforGeeks