Last Updated: Saturday 21st December 2013

Replacing Python Strings

Often you'll have a string (str object), where you will want to modify the contents by replacing one piece of text with another. In Python, everything is an object - including strings. This includes the str object. Luckily, Python's string module comes with a replace() method. The replace() method is part of the string module, and can be called either from a str object or from the string module alone.

Python's string.replace() Prototype

The prototype of the string.replace() method is as follows:

string.replace(s, old, new[, maxreplace])

Function parameters
  • s: The string to search and replace from.
  • old: The old sub-string you wish to replace.
  • new: The new sub-string you wish to put in-place of the old one.
  • maxreplace: The maximum number of times you wish to replace the sub-string.


From the string Module Directly

This gives us the following output:

And using the string.replace() method from the str object:

Which gives us:

Shockingly, we get the same output.

And there you have it! Python's string.replace().

  • extinctplanet

    What about:
    str = ‘\something\’
    str.replace(‘\’, ”)

    Traceback ( File “”, line 1
    str.replace(‘\’, ”)
    SyntaxError: EOL while scanning string literal

    • Jackson Cooper

      The offending code is ”

      When you use a backspace character followed by a quote, it escapes the quote, so you can insert quotes within quotes. In that case, it should be ”’

  • moomistercowman

    string.replace(s, old, new[, count]) is deprecated according to pydoc. It is better to just use str_object.replace() going forward. Using object.replace() avoids both an unnecessary module import (for .replace()) *and* gives 2to3 less to modify.