Python String replace() Method
The replace() functions/method replaces all occurrences of a specified substring in a string and returns a new string without modifying the original string.
Let’s look at a simple example of replace() method.
s = "Hello World! Hello Python!"
# Replace "Hello" with "Hi"
s1 = s.replace("Hello", "Hi")
print(s1)
Hi World! Hi Python!
Explanation: Here, “Hello” is replaced by “Hi” throughout the string, resulting in “Hi World! Hi Python!“.
Note: Since replace() creates a new string, the original string remains unchanged.
Table of Content
Syntax of String replace() Method
string.replace(old, new, count)
Parameters
- old: The substring we may be interested to replace.
- new: The new substring that we may be interested to replace with old substring.
- count (optional): Specifies the maximum number of replacements to perform. If omitted, all occurrences are replaced.
Return Type
- Returns a new string with the specified replacements made. The original string remains unchanged since strings in Python are immutable.
Using replace() with Count Limit
By using the optional count parameter, we can limit the number of replacements made. This can be helpful when just a specific number of replacements are desired.
s = "apple apple apple"
# Replace "apple" with "orange" just once
s1 = s.replace("apple", "orange", 1)
print(s1)
orange apple apple
Explanation: replace() method just replaces the first instance of “apple” because we specified count=1.
Case Sensitivity in replace()
The replace() functions/method is case-sensitive, it treats uppercase and lowercase characters when distinct. If we may be interested to replace both cases then we have to use additional logic.
s = "Hello, World! hello, world!"
# Replace just lowercase 'hello'
s1 = s.replace("hello", "hi")
print(s1)
# Replace just uppercase 'Hello'
s2 = s.replace("Hello", "Hi")
print(s2)
Hello, World! hi, world! Hi, World! hello, world!