Как использовать регулярные выражения для удаления различных тегов, которые появляются по обе стороны от слова в строке? - PullRequest
0 голосов
/ 11 февраля 2019

говорят, что

strng= 'I have to get to the <Color:D010644> maroon <Color:D010644> building before noon'

Как использовать регулярное выражение для преобразования этой строки в

strngNew =  'I have to get to the maroon building before noon'

Что делает этот хитрый момент, так это то, что цифры в теге меняются между строками, иколичество цифр также варьируется.Таким образом, в приведенном выше примере цифры были «D010644», но в другой строке это может быть «JJD93JD93J999333».

Так что мне нужно, чтобы операция регулярного выражения была общей для всех ее вариантов.

Однако имя тега (в приведенном выше примере это «Color») остается постоянным.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы можете сделать это и со стандартной библиотекой:

str = 'I have to get to the <Color:D010644> maroon <Color:D010644> building before noon'
new_string = ' '.join([elem for elem in str.split(' ') if not elem.startswith('<Color')])
print(new_string)

>>> I have to get to the maroon building before noon
0 голосов
/ 11 февраля 2019

Вы можете использовать регулярное выражение для фильтрации тегов:

import re

text = 'I have to get to the <Color:D010644> maroon <Color:D010644> building before noon'

result = re.sub(r'(<Color:)\w+(> )', '', text)

print(result)  # I have to get to the maroon building before noon
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...