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'