Java Program to Remove Vowels from String

This article is created to cover multiple programs in Java that removes vowels from a string entered by user at run-time of the program. Here are the list of programs covered by this article:

If string entered by user is Java is Fun., then the output will be Jv s Fn.

Remove Vowels from String in Java

The question is, write a Java program to remove all vowels from a string. The string must be received by user at run-time. The program given below is its answer:

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      String str, strRes, vowels;
      char ch;
      int i, count, k;
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter the String: ");
      str = scan.nextLine();
      
      strRes="";
      vowels = "aeiouAEIOU";
      for(i=0; i<str.length(); i++)
      {
         count=0;
         ch = str.charAt(i);
         for(k=0; k<vowels.length(); k++)
         {
            if(ch==vowels.charAt(k))
               count++;
         }
         if(count==0)
            strRes = strRes + ch;
      }
      
      System.out.println("\nString without Vowels = " +strRes);
   }
}

The snapshot given below shows the sample run of above program with user input codescracker dot com

java remove vowels from string

Remove Vowels from String in Java using User-defined Function

This program does the same job as of previous program, but created using user-defined function. This program wrapped a block of code, that checks whether the current character is vowel or not, into a user-defined function named isVowel.

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter the String: ");
      String str = scan.nextLine();
      
      String strRes="";
      
      for(int i=0; i<str.length(); i++)
      {
         if(!isVowel(str.charAt(i)))
            strRes = strRes + str.charAt(i);
      }
      
      System.out.println("\nString without Vowels = " +strRes);
   }
   
   public static boolean isVowel(char c)
   {
      String vowels = "aeiouAEIOU";
      for(int i=0; i<10; i++)
         if(c==vowels.charAt(i))
            return true;
      return false;
   }
}

This program produces same output as of previous program.

The for loop block in above program, can also be wrapped in another function. Here is the program after wrapping that block of code inside another function:

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter the String: ");
      String str = scan.nextLine();
      
      String mystr = removeVowels(str);
      System.out.println("\nString without Vowels = " +mystr);
   }
   public static String removeVowels(String s)
   {
      String strRes="";
      for(int i=0; i<s.length(); i++)
      {
         if(!isVowel(s.charAt(i)))
            strRes += s.charAt(i);
      }
      return strRes;
   }
   public static boolean isVowel(char c)
   {
      String vowels = "aeiouAEIOU";
      for(int i=0; i<10; i++)
         if(c==vowels.charAt(i))
            return true;
      return false;
   }
}

From above program, the following two statements:

String mystr = removeVowels(str);
System.out.println("\nString without Vowels = " +mystr);

can also be replaced with a single statement given below:

System.out.println("\nString without Vowels = " +removeVowels(str));

And if you want to actually remove vowels from a string. That is, if you want to store the same entered string without vowels, inside the same variable str. Then replace that two statements with following two statements:

str = removeVowels(str);
System.out.println("\nString without Vowels = " +str);

Remove Vowels from String in Java using Library Function

Using pre-defined or library function, the program becomes too short. Here is the program that too does the same job of removing vowels from a string, but using a library function named replaceAll().

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter the String: ");
      String str = scan.nextLine();
      
      str = str.replaceAll("[aeiouAEIOU]", "");
      System.out.println("\nString without Vowels = " +str);
   }
}

Same Program in Other Languages

Java Online Test


« Previous Program Next Program »


Liked this post? Share it!