Python String replace() Method
The replace() 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)
Output
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 want to replace.
- new: The new substring that we want 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 only a specific number of replacements are desired.
s = "apple apple apple"
# Replace "apple" with "orange" only once
s1 = s.replace("apple", "orange", 1)
print(s1)
Output
orange apple apple
Explanation: replace() method only replaces the first instance of “apple” because we specified count=1.
Case Sensitivity in replace()
The replace() method is case-sensitive, it treats uppercase and lowercase characters as distinct. If we want to replace both cases then we have to use additional logic.
s = "Hello, World! hello, world!"
# Replace only lowercase 'hello'
s1 = s.replace("hello", "hi")
print(s1)
# Replace only uppercase 'Hello'
s2 = s.replace("Hello", "Hi")
print(s2)
Output
Hello, World! hi, world! Hi, World! hello, world!