@mmserebryakov

Удаление из текста символов {color:#1f497d} Python?

Помогите пожалуйста написать регулярное выражение, которое бы отлавливало в тексте название цветов по html. Пример:
{color:#1f497d}Какой-то тест задачи{color}{color:#1f497d}MAC{color}{color:#1f497d}{color}{color:#1f497d}сервер
текст.{color} и т.д.
Я сейчас написал через цикл всех название цветов который отлавил, но они появляются, хочу переписать решение.
def text_clear(text_string):
    bad_chars = ['* {color:#000000}', '{color}', '{color:#172B4D}', '{color:#000000}',
                 '{color:#C82613}', '{color:#C82613}', '{color:#1f497d}', '{color:black}', '*',
                 '{color:#1f4e79}', '{color:#222222}', '{color:#1F497D}', '{color:#333333}',
                 '•', '{color:#404040}', '{color:#000012}']

    try:
        for i in bad_chars:
            text_string = text_string.replace(i, '').strip()
    except AttributeError:
        text_string = None
    return text_string
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Регулярные выражения
re.sub(r'\{color.*?\}', '', text)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
import re

text = '''
{color:#1f497d}Какой-то тест задачи{color}{color:#1f497d}MAC{color}{color:#1f497d}{color}{color:#1f497d}сервер
текст.{color}
'''

rm_color = re.compile(r'\{color:#[A-Fa-f0-9]{6}}|\{color}')
print(rm_color.sub(' ', text))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы