Il y a une chaîne, par exemple. EXAMPLE
.
Comment puis-je supprimer le caractère du milieu, c'est-à-dire M
de lui? Je n'ai pas besoin du code. Je veux savoir:
- Les chaînes en Python se terminent-elles par un caractère spécial?
- Quelle est la meilleure façon - de tout déplacer de droite à gauche à partir du caractère du milieu OU de la création d'une nouvelle chaîne sans copier le caractère du milieu?
Réponses:
En Python, les chaînes sont immuables, vous devez donc créer une nouvelle chaîne. Vous avez quelques options sur la façon de créer la nouvelle chaîne. Si vous souhaitez supprimer le «M» partout où il apparaît:
Si vous souhaitez supprimer le caractère central:
Vous avez demandé si les chaînes 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 toute valeur d'octet, y compris
\0
, peut apparaître dans une chaîne.la source
from __future__ import division
au début de votre script fera que la version 2.X python agira comme la version 3.X""
n'implique pas une ligne vide. Si vous le mettez dans une liste et que vous le joignez à des sauts de ligne, cela fera une ligne vide, mais il y a beaucoup d'autres endroits où vous pouvez utiliser une chaîne vide qui ne le fera pas.C'est probablement le meilleur moyen:
Ne vous inquiétez pas de changer de personnage, etc. La plupart du code Python se déroule à un niveau d'abstraction beaucoup plus élevé.
la source
M
pourrait ne pas être unique. Dans ce cas, cela remplacera tous lesM
s, non?n
occurrences, utilisezoriginal.replace("M", "", n)
.Pour remplacer un poste spécifique:
Pour remplacer un caractère spécifique:
la source
l
. Ensuite, pour la première partie, la contrainte pour pos devrait êtrel-1 > pos >= 0
.Les cordes sont immuables. Mais vous pouvez les convertir en liste, qui est modifiable, puis reconvertir la liste en chaîne après l'avoir modifiée.
Vous pouvez également créer une nouvelle chaîne, comme d'autres l'ont montré, en prenant tout sauf le caractère souhaité de la chaîne existante.
la source
str.replace
méthode?Vous ne pouvez pas, car les chaînes en Python sont immuables .
Non. Ils sont similaires aux listes de personnages; la longueur de la liste définit la longueur de la chaîne et aucun caractère n'agit comme terminateur.
Vous ne pouvez pas modifier la chaîne existante, vous devez donc en créer une nouvelle contenant tout sauf le caractère du milieu.
la source
Utilisez la
translate()
méthode:la source
None
pour supprimer semble ne pas fonctionner):translate( str.maketrans("<>", " ") )
str.maketrans( "", "", "<>")
etstr.maketrans( {"<":None,">":None })
'EXAMPLE'.translate({ord("M"): None})
UserString.MutableString
Façon mutable:
la source
Comment supprimer un caractère d'une chaîne: Voici un exemple où il y a une pile de cartes représentées sous forme de caractères dans une chaîne. L'un d'eux est dessiné (importer un module aléatoire pour la fonction random.choice (), qui choisit un caractère aléatoire dans la chaîne). Une nouvelle chaîne, cardsLeft, est créée pour contenir les cartes restantes fournies par la fonction de chaîne replace () où le dernier paramètre indique qu'une seule "carte" doit être remplacée par la chaîne vide ...
la source
J'ai vu ça quelque part ici .
la source
Voici ce que j'ai fait pour découper le "M":
la source
Si vous souhaitez supprimer / ignorer des caractères dans une chaîne, et, par exemple, vous avez cette chaîne,
"[11: L: 0]"
à partir d'une réponse API Web ou quelque chose comme ça, comme un fichier CSV, disons que vous utilisez des demandes
boucle et se débarrasser des caractères indésirables:
Fractionnement facultatif, et vous pourrez lire les valeurs individuellement:
Il est désormais plus facile d'accéder à chaque valeur:
Cela imprimera
la source
Pour supprimer un
char
ou unesub-string
fois (uniquement la première occurrence):REMARQUE: ici
1
peut être remplacé par anyint
pour le nombre d'occurrences que vous souhaitez remplacer.la source
Vous pouvez simplement utiliser la compréhension de liste.
Supposons que vous avez la chaîne:
my name is
et que vous souhaitez supprimer le caractèrem
. utilisez le code suivant:la source
la source
Une autre façon est avec une fonction,
Vous trouverez ci-dessous un moyen de supprimer toutes les voyelles d'une chaîne, simplement en appelant la fonction
la source
Les chaînes sont immuables en Python, donc vos deux options signifient essentiellement la même chose.
la source