Как удалить все символы перед определенным символом в Python?

Я хотел бы удалить все символы перед назначенным символом или набором символов (например):

intro = "<>I'm Tom."

теперь я хотел бы удалить <> до I'm (или, более конкретно, I). Есть предложения?

6 ответов


использовать re.sub. Просто сопоставьте все символы до I затем замените соответствующие символы на I.

re.sub(r'.*I', 'I', stri)

С index(char) получает вам первый индекс персонажа, вы можете просто сделать string[index(char):].

например, в данном случае index("I") = 2 и intro[2:] = "I'm Tom."


str = "<>I'm Tom."
temp = str.split("I",1)
temp[0]=temp[0].replace("<>","")
str = "I".join(temp)

Если вы знаете позицию символа, с которой начать удаление, вы можете использовать нотацию среза:

intro = intro[2:]

вместо того, чтобы знать, с чего начать, если вы знаете символы для удаления, вы можете использовать lstrip() функция:

intro = intro.lstrip("<>")

import re
intro = "<>I'm Tom."
re.sub(r'<>I', 'I', intro)

str.find может найти индекс символов certain string's first appearance:

intro[intro.find('I'):]