Python String replace()

The replace() method returns a copy of the string where all occurrences of a substring is replaced with another substring.

The syntax of replace() is:

str.replace(old, new [, count]) 

replace() parameters

The replace() method can take maximum of 3 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

If count is not specified, replace() method replaces all occurrences of the old substring with the new substring.


Return Value from replace()

The replace() method returns a copy of the string where old substring is replaced with the new substring. The original string is unchanged.

If the old substring is not found, it returns the copy of the original string.


Example 1: How to use replace()?

song = 'cold, cold heart'
print (song.replace('cold', 'hurt'))

song = 'Let it be, let it be, let it be, let it be'

'''only two occurences of 'let' is replaced'''
print(song.replace('let', "don't let", 2))

When you run the program, the output will be:

hurt, hurt heart
Let it be, don't let it be, don't let it be, let it be

More Example on String replace()

song = 'cold, cold heart'
replaced_song =  song.replace('o', 'e')

# The original string is unchanged
print ('Original string:', song)
print ('Replaced string:', replaced_song)

song = 'let it be, let it be, let it be'

# maximum of 0 substring is replaced
# returns copy of the original string
print(song.replace('let', 'so', 0))

When you run the program, the output will be:

Original string: cold, cold heart
Replaced string: celd, celd heart
let it be, let it be, let it be

When you run the program, the output will be:

Original string: cold, cold heart
Replaced string: celd, celd heart
let it be, let it be, let it be