У меня есть string
и list
следующим образом:
text = 'Sherlock Holmes. PARIS. Address: 221B Baker Street, london. Solving case in Madrid.'
city = ['Paris', 'London', 'Madrid']
Я хочу извлечь 1-й элемент из списка, который следует за словом Адрес .
Вот мой подход к проблеме с использованием nltk
import nltk
loc = None
flag = False
for word in nltk.word_tokenize(text):
if word == 'Address':
flag = True
if flag:
if word.capitalize() in city:
loc = word
break
print(loc)
Я получаю ожидаемый результат сверху, который равен london
.
Но в реальном сценарии мой текст слишкомбольшой и список городов тоже, есть ли лучший способ сделать это?