J'aimerais supprimer tous les caractères avant un caractère désigné ou un ensemble de caractères (par exemple):
intro = "<>I'm Tom."
Maintenant, j'aimerais supprimer le <>
avant le I'm
(ou plus précisément, I
). Aucune suggestion?
Utilisez re.sub
. Faites simplement correspondre tous les caractères jusqu'à I
puis remplacez les caractères correspondants par I
.
re.sub(r'.*I', 'I', stri)
Puisque index(char)
vous donne le premier index du caractère, vous pouvez simplement faire string[index(char):]
.
Par exemple, dans ce cas, index("I") = 2
et intro[2:] = "I'm Tom."
str = "<>I'm Tom."
temp = str.split("I",1)
temp[0]=temp[0].replace("<>","")
str = "I".join(temp)
Si vous connaissez la position du caractère de l'endroit où commencer la suppression, vous pouvez utiliser la notation de tranche:
intro = intro[2:]
Au lieu de savoir par où commencer, si vous connaissez les caractères à supprimer, vous pouvez utiliser la fonction lstrip () :
intro = intro.lstrip("<>")
str.find
pourrait trouver l'index de caractère de certain string's first appearance
:
intro[intro.find('I'):]
import re
intro = "<>I'm Tom."
re.sub(r'<>I', 'I', intro)
Sans regex
intro.split('<>',1)[1]