Sådan sletter du et tegn fra en streng ved hjælp af Python

Der findes f.eks. en streng. EXAMPLE.

Hvordan kan jeg fjerne det midterste tegn, dvs. M, fra den? Jeg har ikke brug for koden. Jeg vil gerne vide det:

  • Jeg vil vide: Slutter strenge i Python med et særligt tegn?
  • Hvilken er en bedre måde - at flytte alt fra højre til venstre med udgangspunkt i det midterste tegn ELLER oprettelse af en ny streng og ikke kopiering af det midterste tegn?
Løsning

I Python er strenge uforanderlige, så du skal oprette en ny streng. Du har et par muligheder for, hvordan du kan oprette den nye streng. Hvis du ønsker at fjerne 'M' hvor det forekommer:

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

Hvis du ønsker at fjerne det centrale tegn:

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

Du spurgte, om strenge slutter med et specialtegn. Nej, du tænker som en C-programmør. I Python gemmes strings med deres længde, så enhver byteværdi, herunder \0, kan optræde i en string.

Kommentarer (3)

Dette er sandsynligvis den bedste måde:

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

Don't bekymre dig om at flytte tegn og lignende. Det meste Python-kode foregår på et meget højere abstraktionsniveau.

Kommentarer (3)

For at erstatte en bestemt stilling:

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

For at erstatte et bestemt tegn:

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