How to remove consonants from a string using regular expressions in Java?

The simple character class “[ ]” matches all the specified characters in it. The meta character ^ acts as negation within the above character class i.e. the following expression matches all the characters except b (including spaces and special characters)


Similarly, the following expression matches all the consonants in the given input string.


Then you can remove the matched characters by replacing them with the empty string “”, using the replaceAll() method.

Example 1

public class RemovingConstants {
   public static void main( String args[] ) {
      String input = "Hi welc#ome to t$utori$alspoint";
      String regex = "([^aeiouAEIOU0-9\W]+)";
      String result = input.replaceAll(regex, "");
      System.out.println("Result: "+result);


Result: i e#oe o $uoi$aoi

Example 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RemovingConsonants {
   public static void main( String args[] ) {
      Scanner sc = new Scanner(;
      System.out.println("Enter input string: ");
      String input = sc.nextLine();
      String regex = "([^aeiouyAEIOUY0-9\W])";
      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()) {
         matcher.appendReplacement(sb, "");
      System.out.println("Result: \n"+ sb.toString() );


Enter input string:
# Hello how are you welcome to Tutorialspoint #
# eo o ae you eoe o uoiaoi #

Updated on: 21-Nov-2019

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started