How to delete a character from a string using Python
Question:
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?
Answers:
This is probably the best way:
original = "EXAMPLE"
removed = original.replace("M", "")
Don’t worry about shifting characters and such. Most Python code takes place on a much higher level of abstraction.
To replace a specific position:
s = s[:pos] + s[(pos+1):]
To replace a specific character:
s = s.replace('M','')
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
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?
This is probably the best way:
original = "EXAMPLE"
removed = original.replace("M", "")
Don’t worry about shifting characters and such. Most Python code takes place on a much higher level of abstraction.
To replace a specific position:
s = s[:pos] + s[(pos+1):]
To replace a specific character:
s = s.replace('M','')
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