Lazer Lazer - 8 months ago 29
Python Question

How to delete a character from a string using python?

There is a string, for example


How can I remove the middle character i.e.
from it. I don't need the code, what I want to know is

  • Do strings in python end in any special character?

  • Which is a better way - shifting everything right to left starting from the middle character OR creation of a new string and not copying the middle character?


In Python, strings are immutable, so you have to create a new string. You have a few options of how to create the new string. If you want to remove the 'M' wherever it appears:

newstr = oldstr.replace("M", "")

If you want to remove the central character:

midlen = len(oldstr)/2
newstr = oldstr[:midlen] + oldstr[midlen+1:]

You asked if strings end with a special character. No, you are thinking like a C programmer. In Python, strings are stored with their length, so any byte value, including \0, can appear in a string.