Python String replace() Method
String replace() in Python returns a copy of the string where occurrences of a substring are replaced with another substring.
Syntax of String replace() method
The replace() method in Python strings has the following syntax:
Syntax: string.replace(old, new, count)
Parameters:
- old – old substring you want to replace.
- new – new substring which would replace the old substring.
- count – (Optional ) the number of times you want to replace the old substring with the new substring.
Return Value : It returns a copy of the string where all occurrences of a substring are replaced with another substring.
Examples of Python replace() Methods
Replace all Instances of a single character using replace() in Python
In this example, we are only replacing a single character from a given string. The Python replace() method is case-sensitive, and therefore it performs a case-sensitive substring substitution, i.e. R in FOR is unchanged.
Python3
string = "grrks FOR grrks" # replace all instances of 'r' (old) with 'e' (new) new_string = string.replace( "r" , "e" ) print (string) print (new_string) |
Output :
grrks FOR grrks geeks FOR geeks
Replace all Instances of a String using replace() in Python
Here, we will replace all the geeks with GeeksforGeeks using replace() function.
Python3
string = "geeks for geeks \ngeeks for geeks" print (string) # Prints the string by replacing only # 3 occurrence of Geeks print (string.replace( "geeks" , "GeeksforGeeks" )) |
Output :
geeks for geeks geeks for geeks GeeksforGeeks for GeeksforGeeks GeeksforGeeks for GeeksforGeeks
Replace only a certain number of Instances using replace() in Python
In this example, we are replacing certain numbers of words. i.e. “ek” with “a” with count=3.
Python3
string = "geeks for geeks geeks geeks geeks" # Prints the string by replacing # e by a print (string.replace( "e" , "a" )) # Prints the string by replacing only # 3 occurrence of ek by a print (string.replace( "ek" , "a" , 3 )) |
Output:
gaaks for gaaks gaaks gaaks gaaks geas for geas geas geeks geeks
Using a list comprehension and the join() method:
Approach:
Split the original string into a list of substrings using the split() method.
Use a list comprehension to replace each occurrence of old_substring with new_substring.
Join the list of substrings back into a string using the join() method.
Python3
my_string = "geeks for geeks " old_substring = "k" new_substring = "x" split_list = my_string.split(old_substring) new_list = [new_substring if i < len (split_list) - 1 else '' for i in range ( len (split_list) - 1 )] new_string = ''.join([split_list[i] + new_list[i] for i in range ( len (split_list) - 1 )] + [split_list[ - 1 ]]) print (new_string) |
geexs for geexs
Time Complexity: O(n)
Space Complexity: O(n)
Please Login to comment...