Comment supprimer un caractère d'une chaîne de caractères en utilisant Python

Il y a une chaîne de caractères, par exemple. EXAMPLE.

Comment puis-je supprimer le caractère du milieu, c'est-à-dire le "M" ? Je n&#8217ai pas besoin du code. Je veux savoir :

  • Les chaînes de caractères en Python se terminent-elles par un caractère spécial ?
  • Quelle est la meilleure façon de procéder - tout décaler de droite à gauche à partir du caractère du milieu OU créer une nouvelle chaîne sans copier le caractère du milieu ?
Solution

En Python, les chaînes sont immuables, vous devez donc créer une nouvelle chaîne. Vous avez plusieurs possibilités pour créer cette nouvelle chaîne. Si vous voulez supprimer le 'M&#39 ; partout où il apparaît :

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

Si vous voulez supprimer le caractère central :

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

Vous avez demandé si les chaînes de caractères se terminent par un caractère spécial. Non, vous pensez comme un programmeur C. En Python, les chaînes sont stockées avec leur longueur, donc n'importe quelle valeur d'octet, y compris \0, peut apparaître dans une chaîne.

Commentaires (3)

C'est probablement le meilleur moyen :

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

Ne vous inquiétez pas du décalage des caractères et autres. La plupart du code Python se situe à un niveau d'abstraction beaucoup plus élevé.

Commentaires (3)

Pour remplacer un poste spécifique :

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

Pour remplacer un caractère spécifique :

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