Как удалить все символы перед определенным символом в Python? Я хочу удалить все символы перед назначенным символом или набором символов (например): intro = "<>I'm Tom." Теперь я хотел бы удалить <> до I'm (или, более конкретно, I). Любые предложения? Ответ 1 Используйте re.sub. Просто сопоставьте все символы до I, затем замените согласованные символы на I. re.sub(r'.*I', 'I', stri) Ответ 2 Так как index(char) получает вам первый индекс символа, вы можете просто сделать string[index(char):]. Например, в этом случае index("I") = 2 и intro[2:] = "I'm Tom." Ответ 3 str = "<>I'm Tom." temp = str.split("I",1) temp[0]=temp[0].replace("<>","") str = "I".join(temp) Ответ 4 Если вы знаете позицию символа начала начала удаления, вы можете использовать нотацию фрагмента: intro = intro[2:] Вместо того, чтобы знать, с чего начать, если вы знаете символы для удаления, вы можете использовать функцию lstrip(): intro = intro.lstrip("<>") Ответ 5 str.find может найти символьный индекс первой certain string first appearance: intro[intro.find('I'):] Ответ 6 import re intro = "<>I'm Tom." re.sub(r'<>I', 'I', intro) Ответ 7 У меня есть эта команда: ovs-vsctl list-br который создает этот список: ovsbr0 ovsbr1 ovsbr1.100 ovsbr1.101 что было бы правильным способом для результата: 100 101 В основном я хочу удалить все слова, которые не начинаются с ovsbr1. затем удалите из всех слов символы до символа точки (удалите также точку) Ответ 8 Без регулярных выражений intro.split('<>',1)[1]
Ответ 1 Используйте re.sub. Просто сопоставьте все символы до I, затем замените согласованные символы на I. re.sub(r'.*I', 'I', stri)
Ответ 2 Так как index(char) получает вам первый индекс символа, вы можете просто сделать string[index(char):]. Например, в этом случае index("I") = 2 и intro[2:] = "I'm Tom."
Ответ 3 str = "<>I'm Tom." temp = str.split("I",1) temp[0]=temp[0].replace("<>","") str = "I".join(temp)
Ответ 4 Если вы знаете позицию символа начала начала удаления, вы можете использовать нотацию фрагмента: intro = intro[2:] Вместо того, чтобы знать, с чего начать, если вы знаете символы для удаления, вы можете использовать функцию lstrip(): intro = intro.lstrip("<>")
Ответ 5 str.find может найти символьный индекс первой certain string first appearance: intro[intro.find('I'):]
Ответ 7 У меня есть эта команда: ovs-vsctl list-br который создает этот список: ovsbr0 ovsbr1 ovsbr1.100 ovsbr1.101 что было бы правильным способом для результата: 100 101 В основном я хочу удалить все слова, которые не начинаются с ovsbr1. затем удалите из всех слов символы до символа точки (удалите также точку)