Python Program to Remove Vowels from String

This article is created to cover some programs in Python, that removes vowels from a string entered by user. Here are the list of approaches used:

Note - a, e, i, o, u, A, E, I, O, U are all vowels.

Remove Vowels from String using for Loop

To remove all vowels from a string in Python, you have to ask from user to enter a string, then remove all vowels from it as shown in the program given below. The question is, write a Python program to remove vowels from string. Here is its answer:

print("Enter the String: ")
text = input()

vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
newtext = ""
textlen = len(text)

for i in range(textlen):
    if text[i] not in vowels:
        newtext = newtext + text[i]

print("\nString after removing Vowels: ")
text = newtext
print(text)

Here is the initial output produced by this Python program:

remove vowels from string python

Now supply the input say codescracker.com and press ENTER key to remove all vowels from this string and print new string without vowel as shown in the snapshot given below:

delete vowels from string python

The above program works in a way that:

Note - The len() method returns length of string passed as its argument.

Note - The range() method returns a sequence of values. By default, starts with 0 and increments by 1 each time. Continues until the value provided as its argument.

The dry run of above program with user input codescracker.com goes like:

Modified Version of Previous Program

This is the modified version of previous program. This program uses for loop in a way that, each and every characters of string gets copied to c one by one, and using c's value, I've checked and does the job of removing vowels just like previous program. The only difference is c is treated as text[i] here.

print("Enter String: ", end="")
text = input()

vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
newtext = ""

for c in text:
    if c not in vowels:
        newtext = newtext + c

print("\nWith Vowels =", text)
text = newtext
print("\nWithout Vowels =", text)

Here is its sample run with string input Welcome to codescracker.com:

python remove vowels from string

Note - The end= is used to skip inserting newline using print()

Remove Vowels from String using String Slicing

This program uses string slicing to do the job of removing vowels from a string. This program removes vowels from string without using any other (second) variable.

print("Enter String: ", end="")
text = input()

vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
i = 0
for c in text:
    if c in vowels:
        text = text[:i] + text[i+1:]
        i = i-1
    i = i+1

print("\nWithout Vowels =", text)

Here is its sample run with same string input as previous sample run:

remove vowels from string using for loop python

In above program, the following statement:

text = text[:i] + text[i+1:]

states that, except character at ith index, all characters before and after ith index, gets added and initialized to text as its new value.

Note - While slicing string using index pairs inside square brackets, that is [:], index number before colon is included, and index number after colon is excluded.

Note - Empty before : (colon) in [:] refers to 0, and empty after : (colon) in [:] refers to the length value of string.

Remove Vowels from String using replace()

This program uses replace() method to replace the vowel with nothing (""). So that, one by one all vowels gets removed with "", that is empty. Let's have a look at the program

print("Enter String: ", end="")
text = input()

vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
for c in text:
    if c in vowels:
        text = text.replace(c, "")

print("\nWithout Vowels =", text)

Same Program in Other Languages

Python Online Test


« Previous Program Next Program »


Liked this post? Share it!