553 votes

Comment supprimer un caractère d'une chaîne en utilisant python?

C'est pour un ami et nous sommes tout nouveau à Python.

Il y a une chaîne, par exemple EXAMPLE

Comment puis-je supprimer le caractère central, c'est-à-dire M de celui-ci. Je n'ai pas besoin du code, ce que je veux savoir c'est

  • Est-ce que les chaînes en python se terminent par un caractère spécial?
  • Quel est le meilleur moyen - déplacer tout de droite à gauche à partir du caractère central OU la création d'une nouvelle chaîne et ne pas copier le personnage du milieu?

765voto

Ned Batchelder Points 128913

En Python, les chaînes sont immuables, donc, vous devez créer une nouvelle chaîne. Vous avez un peu d'options de création de la nouvelle chaîne. Si vous souhaitez supprimer le " M " partout où il apparaît:

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

Si vous souhaitez supprimer le personnage central:

midlen = len(oldstr)/2
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Vous avez demandé si les chaînes de la fin, avec un caractère spécial. Non, vous êtes de penser comme un programmeur C. En Python, les chaînes sont stockées avec leur longueur, de sorte que toute valeur d'un octet, y compris \0, peut apparaître dans une chaîne.

86voto

Eton B. Points 2286

Pour remplacer une position spécifique :

Pour remplacer un caractère spécifique :

82voto

recursive Points 34729

C'est probablement le meilleur moyen:

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

Ne vous inquiétez pas pour les caractères changeants et autres. La plupart des python se déroulent à un niveau d'abstraction beaucoup plus élevé.

37voto

kindall Points 60645

Les chaînes sont immuables. Mais vous pouvez convertir une liste qui est mutable, et ensuite convertir la liste en chaîne après que vous l’avez changé.

Vous pouvez également créer une nouvelle chaîne, comme d’autres l’ont montré, en prenant tout sauf le caractère de votre choix dans la chaîne existante.

13voto

Richard Fearn Points 11631

Comment puis-je supprimer le caractère du milieu

Vous ne pouvez pas, parce que les chaînes de caractères en Python sont immuables.

Faire des chaînes de caractères en python la fin de tout caractère spécial?

Pas de. Ils sont semblables à des listes de caractères; la longueur de la liste définit la longueur de la chaîne, et pas de personnage agit comme un terminator.

Ce qui est une meilleure façon de décalage de tout ce de droite à gauche en commençant par le milieu de caractère OU de la création d'une nouvelle chaîne de caractères et non pas de copier le caractère du milieu?

Vous ne pouvez pas modifier la chaîne existante, de sorte que vous devez créer un nouveau contenant tout sauf le caractère du milieu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X