Python – Replace vowels in a string with a specific character K

06 Jul, 2022
Given a string, replace all the vowels with character K.
Input : test_str = “Geeks for Geeks”; K=’#’Output : “G##ks f#r G##ks” Explanation : All the vowels in test_str are replaced by a give particular character.
Input : test_list = “GFG”; K=”$”Output : GFGExplanation : As test_str contained no vowel, so the same string is returned.
Method #1 :  Using loop + replace()
Initially create a string of vowels and then iterate through the given test_str, on detecting a vowel in test_str replace the vowel with K using replace() method.
Python3
# Function to Replace each vowel in# the string with a specified characterdef replaceVowelsWithK(test_str, K):     # string of vowels    vowels = 'AEIOUaeiou'     # iterating to check vowels in string    for ele in vowels:         # replacing vowel with the specified character        test_str = test_str.replace(ele, K)     return test_str     # Driver Code# input stringinput_str = "Geeks for Geeks" # specified characterK = "#" # printing inputprint("Given String:", input_str)print("Given Specified Character:", K) # printing outputprint("After replacing vowels with the specified character:",      replaceVowelsWithK(input_str, K))
Given String: Geeks for Geeks
Given Specified Character: #
After replacing vowels with the specified character: G##ks f#r G##ks
Output:
Given String: Geeks for Geeks Given Specified Character: # After replacing vowels with the specified character: G##ks f#r G##ks
Method #2 : Using nested loop 
Here, we first convert the given string into a list and then create a list of vowels and an empty list i.e new_string. After that elements of both string_list and vowel_list are compared and if the element is a vowel then K is appended to new_string else the element of the given string is appended. 
Python3
# Function to Replace each vowel# in the string with a specified characterdef replaceVowelsWithK(test_str, K):     # creating list of vowels    vowels_list = ['A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u']     # creating empty list    new_string = []     # converting the given string to list    string_list = list(test_str)     # running 1st iteration for    # comparing all the    # characters of string with    # the vowel characters    for char in string_list:         # running 2nd iteration for        # comparing all the characters        # of vowels with the string character        for char2 in vowels_list:             # comparing string character            # and vowel character            if char == char2:                 # if condition is true then adding                # the specific character entered                # by the user in the new list                new_string.append(K)                break         # else adding the character        else:            new_string.append(char)     # return the converted list into string    return(''.join(new_string))     # Driver Code# input stringinput_str = "Geeks for Geeks" # specified characterK = "#" # printing inputprint("Given String:", input_str)print("Given Specified Character:", K) # printing outputprint("After replacing vowels with the specified character:",      replaceVowelsWithK(input_str, K))
Given String: Geeks for Geeks
Given Specified Character: #
After replacing vowels with the specified character: G##ks f#r G##ks
Method#3: Using re.sub() method. 
Here, we match the pattern with the help of regular expression and use re.sub method of regular expression module to substitute the matched pattern in the string with specified character. 
Python3
# Function to Replace each vowel in# the string with a specified characterimport redef replaceVowelsWithK(test_str, K):     # string of vowels    vowels = 'AEIOUaeiou'    return re.sub(rf'[{vowels}]', K, test_str)   # Driver Code# input stringinput_str = "Geeks for Geeks" # specified characterK = "&" # printing inputprint("Given String:", input_str)print("Given Specified Character:", K) # printing outputprint("After replacing vowels with the specified character:",    replaceVowelsWithK(input_str, K))
Output:
Given String: Geeks for Geeks
Given Specified Character: &
After replacing vowels with the specified character: G&&ks f&r G&&ks
rajeev0719singh
sagartomar9927
sweetyty
satyam00so
simmytarika5
Python string-programs
Python
Python Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
Python program to convert a list to string
Defaultdict in Python
Python | Get dictionary keys as a list
Python | Convert a list to dictionary
Python Program for Fibonacci numbers