J'ai une chaîne qui se compose uniquement de caractères supérieurs. Donc par exemple: ABCABCABCBCA
mais si j'utilisais la méthode .lstrip ('ABC'), cela supprimerait tous les caractères qui sont A, B or C
à gauche de la chaîne. Je voudrais supprimer uniquement ABC
mais pour chaque ABC
de cette chaîne. Donc, ma sortie souhaitée serait: BCA
3 Réponses :
Vous pouvez utiliser str.replace
place
>>> s = 'ABCABCABCBCA' >>> s.replace('ABC', '') 'BCA'
Cela m'aide merci! Mais je ne voudrais remplacer ABC que sur le côté gauche. Donc dès qu'il y a une autre combinaison à partir de celle fournie, j'aimerais que mon programme arrête de supprimer les ABC
N'avez-vous pas dit que votre production attendue est BCA
? Pouvez-vous fournir quelques exemples supplémentaires s'il y a un cas particulier que j'ai manqué?
Oh, je suis désolé. Donc, si j'aurais la chaîne 'ABCABCBCACBAABCABC', je veux qu'elle supprime tous les ABC de la gauche, donc pour celui-ci, la sortie serait: 'BCACBAABCABC'
Quelqu'un a déjà répondu à une solution de travail mais merci de votre aide!
vous pouvez utiliser la méthode string.replace () pour supprimer chaque occurrence de "ABC".
"ABCABCABCBCA".replace('ABC','')
Merci aussi! Mais je ne voudrais remplacer ABC que sur le côté gauche. Donc dès qu'il y a une autre combinaison à partir de celle fournie, j'aimerais que mon programme arrête de supprimer les ABC
Si votre objectif est de remplacer toutes les occurrences de ABC
, utilisez replace
comme les autres réponses. Si vous souhaitez uniquement supprimer de la gauche, utilisez une regex:
import re s = "ABCABCABCBCADABC" re.sub("^(ABC)+", "", s) # 'BCADABC'