Eliminar espacios en blanco usando Regex en Java

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));
    }
}
Producción

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);
    }
}
Producción

GeeksforGeeks            

Publicación traducida automáticamente

Artículo escrito por support3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *