@nyansterowo

Как проверить есть ли слова в предложении?

Здравствуйте, есть текст, а так же есть слово сочетания, нужно проверить есть ли какое либо из словосочетаний в тексте.

Пример словосочетаний
{
   "здравствуйте иван",
   "до свидания иван"
}


Текст может содержать не малое кол-во слов, 50+.
По началу хотел использовать данный код, но потом понял что для словосочетаний он не пойдет.

text = msg.text
checklist = words # {'word word2', 'word word2'}
common_words = set(text.split()) & checklist
print(common_words)


Буду рад вашей помощи.
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Через цикл проходитесь по каждому из словосочетаний, и просто проверяете наличие через in

checklist = {
   "здравствуйте иван",
   "до свидания иван"
}

for words in checklist:
    if words in text:
        ...


Можно сократить в any()
any(words in text for words in checklist)

Но настолько топорная проверка может и не работать, при наличии всяких запятых, точек, доп. пробелов, разного регистра и тд. Нужно дорабатывать такое
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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