English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo eliminar vocales usando expresiones regulares en Java?

La clase de caracteres simple "[]" coincide con todos los caracteres especificados. La siguiente expresión coincide con los caracteres diferentes de xyz.

"[xyz]"

Del mismo modo, la siguiente expresión coincide con todas las vocales en la cadena de entrada dada.

"([^aeiouAEIOU0-9\\W]+)";

Luego, puede usar una cadena vacía "" para reemplazar los caracteres coincidentes, utilizando el método replaceAll().

ejemplo1

public class RemovingVowels {
   public static void main( String args[] ) {
      String input = "Hi welcome to w3codebox";
      String regex = "[aeiouAEIOU]";
      String result = input.replaceAll(regex, "");
      System.out.println("Result: "+result);
   }
}
Resultado de salida
Result: H wlcm t ttrlspnt

ejemplo2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese la cadena de entrada: ");
      String input = sc.nextLine();
      String regex = "[aeiouAEIOU]";
      String constants = "";
      System.out.println("Cadena de entrada: \n"+input);
      //Crear un objeto de patrón
      Pattern pattern = Pattern.compile(regex);
      //Coincidir con el patrón de compilación de la cadena
      Matcher matcher = pattern.matcher(input);
      //Crear un área de memoria de cadena vacía
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         constants = constants+matcher.group();
         matcher.appendReplacement(sb, "");
      }
      matcher.appendTail(sb);
      System.out.println("Resultado: \n"+ sb.toString()+constants );
   }
}
Resultado de salida
Ingrese la cadena de entrada:
this is a sample text
Cadena de entrada:
this is a sample text
Resultado:
ths s smpl txtiiaaee

Te gustará