ReplaceA string cannot be changed in-place. We cannot assign characters. Instead we use the replace method to create a new string.
With this method, we specify a substring that we want to replace, and another we want to replace it with. We can use an optional second argument.
Let us begin with this simple example. Replace accepts two substring arguments: the "before" and "after" parts that are replaced.
Replace only handles substrings, not characters. If you need to replace many single characters, please consider the translate method.value = "aabc"
# Replace a substring with another.
result = value.replace("bc", "yz")
print(result)
# Replace the first occurrence with a substring.
result = value.replace("a", "x", 1)
print(result)aayz
xabcReplace countThe third argument to replace() is optional. If we specify it, the replace method replaces that number of occurrences—this is a count argument.
string that says "cat cat cat" and we replace all occurrences, 0 occurrences, and 1 and 2 occurrences.before = "cat cat cat"
print(before)
# Replace all occurrences.
after = before.replace("cat", "bird")
print(after)
# Replace zero occurrences.
# ... This makes no sense.
after = before.replace("cat", "bird", 0)
print(after)
# Replace 1 occurrence.
after = before.replace("cat", "bird", 1)
print(after)
# Replace first 2 occurrences.
after = before.replace("cat", "bird", 2)
print(after)cat cat cat
bird bird bird
cat cat cat
bird cat cat
bird bird catOccasionally we need complex string replacement logic—for example, replacing substrings starting with certain letters. The re.sub method, part of the "re" module, works here.
string starting with the 3-letter sequence "car" and replacing the entire match with the word "bird."import re # Replace all words starting with "car" with the string "bird". s = "carrots trees cars" v = re.sub(r"car\w*", "bird", s) print(v)bird trees bird
Replace() is needed to change a part of string to a new string. If the index of the match is known, we could use two slices and then construct a new string with concatenation.
With replace() we copy a string. The original is not changed. The copied string has the specified number of substrings replaced with a new substring (if found).