#python #regex
Вопрос:
У меня есть строка слов, которые генерируют разные шаблоны похожих слов через разные аудиофайлы, я хочу использовать шаблон регулярных выражений, чтобы получить этот шаблон слов и удалить его для фактического текста. Например, у меня есть текст ниже:
text = "Yeah CoolnSpeaker 100:00:03Uh, you know, when you score three goals, you expect to win a game, you know, but, uh,"
Все, что я хочу сделать, это шаблон регулярного выражения, который может обнаруживать динамик 100:00:03 и другой аналогичный шаблон, в зависимости от аудиофайла, иногда у меня может быть динамик 100:00:01, который выглядит иначе, чем первый, но они похожи
Есть ли лучший способ сделать это?
Я использовал строку replace
, которая не является универсальным решением, которое заключается в следующем:
new_text = text.replace('Speaker 000:00:00', '')
Это ожидаемый результат после применения регулярного выражения, которого я и ожидаю.
text = "Yeah Cool Uh, you know, when you score three goals, you expect to win a game, you know, but, uh,"
Комментарии:
1. Итак, вы знаете, что регулярное выражение может быть решением, почему бы вам даже не попытаться создать регулярное выражение, которое, по крайней мере, соответствует тексту, который вы ищете? Мы даже не знаем, осознаете ли вы, что должны
import re
это сделать или что-то в этом роде.
Ответ №1:
В зависимости от точного формата метки времени, re.sub
должен работать следующий шаблон
>>> re.sub('nSpeaker d{1,3}:d{2}:d{2}', ' ', text)
'Yeah Cool Uh, you know, when you score three goals, you expect to win a game, you know, but, uh,'
Ответ №2:
Очень простое регулярное выражение:
import re
text = "Yeah CoolnSpeaker 100:00:03Uh, you know, when you score three goals, you expect to win a game, you know, but, uh,"
re.sub(r'nSpeaker ddd:dd:dd', ' ', text)
# 'Yeah Cool Uh, you know, when you score three goals, you expect to win a game, you know, but, uh,'
Ответ №3:
“nSpeaker d{3}:d{2}:d{2}”
d
определяет цифру и {3}
означает три раза… это d{3}
означает три цифры.
Попробуй regex101.com это отличное место для экспериментов с рефлексом.