Предполагая, что у меня есть такое предложение:
text = 'Romeo and Juliet is a tragedy written by William Shakespeare early in his career about two young star-crossed lovers whose deaths ultimately reconcile their feuding families'
и список с фразами:
phrases = ['Romeo and Juliet', 'William Shakespeare', 'career', 'lovers', 'deaths', 'feuding families']
Можно ли исключить эти фразы из текста, чтобы получить:
result = ['is', 'a', 'tragedy', 'written', 'by', 'early', 'in', 'his', 'about', 'two', 'young', 'star-crossed', 'whose', 'ultimately', 'reconcile', 'their']
Раньше я использовал фильтр, но только с отдельными словами, а не с фразами






Вы можете просто перебирать фразы и использовать функцию replace из Python, чтобы удалить их из строки. После этого вы разделите строку на пробелы и получите желаемый результат.
Добро пожаловать в Stackoverflow btw (;
for phrase in phrases:
text = text.replace(phrase, '')
result = text.split(' ')
result.remove('')
print(result)
Вы можете заменить все свои фразы пустой строкой на str заменить, а затем использовать ул. сплит, чтобы разделить полученную строку по пробелам.
Например:
for phrase in phrases:
text = text.replace(phrase, '')
result = text.split()
print(result)