Еще один способ использования re
:
>>> list(map(str.strip, re.sub("|".join(dummy_type + dummy_file_type), lambda x: "," + x.group(), dummy_word).split(',')))
['I have a', 'HTML', 'file']
>>>
Сначала создайте шаблон регулярного выражения, объединив все типы с помощью join
. Используя re.sub
, строка заменяется там, где перед токенами стоит запятая, а затем мы разделяем строку, используя разделитель запятых. map
используется для удаления пробелов.