Я ищу элегантный способ найти первое совпадение из списка предлогов в тексте, чтобы я мог разобрать текст типа «Добавить обувь за окном», результат должен быть [«обувь», «позади»окно "]
Работает, если в тексте нет нескольких предлогов
мои ключи за окном до : мои ключи после : за окном
мои ключи под столом на кухне до : мои ключи под столом после : на кухне
мои ключи в коробке под столом на кухне до : мои ключи после : в коробке под столом на кухне
Вво втором примере результат должен быть [«мои ключи», «под столом на кухне»]
Какой элегантный способ найти первое совпадение любого из слов в списке?
def get_text_after_preposition_of_place(text):
"""Returns the texts before[0] and after[1] <preposition of place>"""
prepositions_of_place = ["in front of","behind","in","on","under","near","next to","between","below","above","close to","beside"]
textres = ["",""]
for key in prepositions_of_place:
if textres[0] == "":
if key in text:
textres[0] = text.split(key, 1)[0].strip()
textres[1] = key + " " + text.split(key, 1)[1].strip()
return textres