Ich möchte alle Zeichen vor einem bestimmten Zeichen oder Zeichensatz (zum Beispiel) entfernen:
intro = "<>I'm Tom."
Nun möchte ich den <>
vor I'm
(oder genauer I
) entfernen. Irgendwelche Vorschläge?
Verwenden Sie re.sub
. Passen Sie einfach alle Zeichen bis zu I
an, und ersetzen Sie die übereinstimmenden Zeichen durch I
.
re.sub(r'.*I', 'I', stri)
Da index(char)
Ihnen den ersten Index des Zeichens liefert, können Sie string[index(char):]
einfach ausführen.
In diesem Fall beispielsweise index("I") = 2
und intro[2:] = "I'm Tom."
str = "<>I'm Tom."
temp = str.split("I",1)
temp[0]=temp[0].replace("<>","")
str = "I".join(temp)
Wenn Sie die Zeichenposition kennen, an der Sie mit dem Löschen beginnen möchten, können Sie die Slice-Notation verwenden:
intro = intro[2:]
Anstatt zu wissen, wo Sie anfangen sollen, wenn Sie die zu entfernenden Zeichen kennen, können Sie die Funktion lstrip () verwenden:
intro = intro.lstrip("<>")
str.find
konnte den Zeichenindex von certain string's first appearance
finden:
intro[intro.find('I'):]
import re
intro = "<>I'm Tom."
re.sub(r'<>I', 'I', intro)
Ohne Regex
intro.split('<>',1)[1]