Удалить Sub String с помощью Python
Я уже извлекаю некоторую информацию с форума. Теперь у меня есть исходная строка:
string = 'i think mabe 124 + <font color="black"><font face="Times New Roman">but I don\'t have a big experience it just how I see it in my eyes <font color="green"><font face="Arial">fun stuff'
То, что мне не нравится, это подстрока "<font color="black"><font face="Times New Roman">"
и "<font color="green"><font face="Arial">"
. Я хочу сохранить другую часть строки, кроме этого. Итак, результат должен быть таким:
resultString = "i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff"
Как я могу это сделать? На самом деле я использовал красивый суп, чтобы извлечь строку из форума. Теперь я могу предпочесть регулярное выражение для удаления части.
Ответы
Ответ 1
import re
re.sub('<.*?>', '', string)
"i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff"
Функция re.sub
принимает регулярное выражение и заменяет все совпадения в строке вторым параметром. В этом случае мы ищем все теги ('<.*?>'
) и заменяем их ничем (''
).
?
используется в re
для не жадных поисков.
Подробнее о re module
.
Ответ 2
>>> import re
>>> st = " i think mabe 124 + <font color=\"black\"><font face=\"Times New Roman\">but I don't have a big experience it just how I see it in my eyes <font color=\"green\"><font face=\"Arial\">fun stuff"
>>> re.sub("<.*?>","",st)
" i think mabe 124 + but I don't have a big experience it just how I see it in my eyes fun stuff"
>>>