In this article, we will discuss different ways to replace multiple characters in a string in Python. Suppose we have a string, Now we want the following characters to be replaced in that string, There are different ways to do this. Let’s discuss them one by one, Advertisements
In Python, the String class (Str) provides a method replace(old, new) to replace the sub-strings in a string. It replaces all the occurrences of the old sub-string with the new sub-string. In Python, there is no concept of a character data type. A character in Python is also a string. So, we can use the replace() method to replace multiple characters in a string. sample_string = "This is a sample string" char_to_replace = {'s': 'X', 'a': 'Y', 'i': 'Z'} # Iterate over all key-value pairs in dictionary for key, value in char_to_replace.items(): # Replace key character with value character in string sample_string = sample_string.replace(key, value) print(sample_string) Output: ThZX ZX Y XYmple XtrZng It replaced all the occurrences of,
As strings are immutable in Python and we cannot change its contents. Therefore, replace() function returns a copy of the string with the replaced content. Python: Replace multiple characters in a string using the translate ()We can also replace multiple characters in string with other characters using translate() function, sample_string = "This is a sample string" char_to_replace = {'s': 'X', 'a': 'Y', 'i': 'Z'} # Replace all multiple characters in a string # based on translation table created by dictionary sample_string = sample_string.translate(str.maketrans(char_to_replace)) print(sample_string) Output: ThZX ZX Y XYmple XtrZng We created that translation table from a dictionary using Str.maketrans() function. We then passed that translation table as an argument to the translate() method of Str, which replaced following characters in string based on that translation table,
As strings are immutable in Python and we cannot change its contents. Therefore translate() function returns a copy of the string with the replaced content. Python: Replace multiple characters in a string using regexPython provides a regex module (re), and in this module, it provides a function sub() to replace the contents of a string based on patterns. We can use this re.sub() function to substitute/replace multiple characters in a string, import re sample_string = "This is a sample string" char_to_replace = {'s': 'X', 'a': 'Y', 'i': 'Z'} # Replace multiple characters (s, a and i) in string with values in # dictionary using regex sample_string = re.sub(r"[sai]", lambda x: char_to_replace[x.group(0)], sample_string) print(sample_string) Output: ThZX ZX Y XYmple XtrZng Here we passed a pattern r’[sai]’ as the first argument, which matches all occurrences of character ‘s’, ‘a’ and ‘i’. As the second argument in the sub() function, we passed a lambda function, which fetches the matched character from the match object and then returns the value associated with it from the dictionary. Then as the third argument, we passed the original string. Now for each character in the string that matches the pattern, it calls the lambda function, which gives the replacement character. Then the sub() function replaces that character in the string. It replaced all the occurrences of,
As strings are immutable in Python and we cannot change its contents. Therefore sub() function of the regex module returns a copy of the string with the replaced content. Python: Replace multiple characters in a string using for loopInitialize a new empty string and then iterate over all characters of the original string. During iteration, for each check, if the character exists in the dictionary char_to_replaced or not,
For example, sample_string = "This is a sample string" char_to_replace = {'s': 'X', 'a': 'Y', 'i': 'Z'} result = '' # Iterate over all characters in string for elem in sample_string: # Check if character is in dict as key if elem in char_to_replace: # If yes then add the value of that char # from dict to the new string result += char_to_replace[elem] else: # If not then add the character in new string result += elem print(result) Output: ThZX ZX Y XYmple XtrZng It replaced all the occurrences of,
As strings are immutable in Python and we cannot change its contents. Therefore, we created a new copy of the string with the replaced content. Summary We can replace multiple characters in a string using replace() , regex.sub(), translate() or for loop in python. How do you replace a specific character in a string?Using 'str.
replace() , we can replace a specific character. If we want to remove that specific character, replace that character with an empty string. The str. replace() method will replace all occurrences of the specific character mentioned.
How do you replace multiple characters in a string Python?In Python, there is no concept of a character data type. A character in Python is also a string. So, we can use the replace() method to replace multiple characters in a string.. Character 's' with 'X'.. Character 'a' with 'Y'.. Character 'i' with 'Z'.. |