How to delete a character from a string using Python

python, string

Solution

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.

Problem

There is a string, for example. `EXAMPLE`. How can I remove the middle character, i.e., `M` from it? I don't need the code. I want to know: - 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?

Original source