Удалить Sub String с помощью Python - PullRequest
46 голосов
/ 02 января 2012

Я уже извлекаю некоторую информацию из форума. Это необработанная строка, которую я сейчас имею:

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"

Как я мог это сделать? На самом деле я использовал красивый суп, чтобы извлечь строку из форума. Теперь я могу предпочесть регулярное выражение для удаления части.

Ответы [ 2 ]

93 голосов
/ 02 января 2012
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.

14 голосов
/ 02 января 2012
>>> 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"
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...