Hoe verwijder je een karakter uit een string met Python

Er is een string, bijvoorbeeld. EXAMPLE.

Hoe kan ik het middelste teken, dus M eruit halen? Ik heb de code niet nodig. Ik wil het weten:

  • Eindigen strings in Python op een speciaal teken?
  • Wat is een betere manier - alles van rechts naar links verschuiven beginnend bij het middelste karakter OF een nieuwe string maken en het middelste karakter niet kopiëren?
Oplossing

In Python zijn strings onveranderlijk, dus moet je een nieuwe string maken. Je hebt een paar opties hoe je de nieuwe string maakt. Als je de 'M' wilt verwijderen waar hij ook voorkomt:

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

Als je het centrale teken wilt verwijderen:

midlen = len(oldstr)/2   # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Je vroeg of strings eindigen met een speciaal teken. Nee, je denkt als een C programmeur. In Python worden strings opgeslagen met hun lengte, dus elke byte waarde, inclusief 0, kan in een string voorkomen.

Commentaren (3)

Dit is waarschijnlijk de beste manier:

original = "EXAMPLE"
removed = original.replace("M", "")

Maak je geen zorgen over het verschuiven van karakters en dergelijke. De meeste Python code vindt plaats op een veel hoger niveau van abstractie.

Commentaren (3)

Om een specifieke positie te vervangen:

s = s[:pos] + s[(pos+1):]

Om een specifiek teken te vervangen:

s = s.replace('M','')
Commentaren (3)