Я пытаюсь найти список слов, и поэтому я сгенерировал этот код:
narrative = "Lasix 40 mg b.i.d., for three days along with potassium chloride slow release 20 mEq b.i.d. for three days, Motrin 400 mg q.8h"
meds_name_final_list = ["lasix", "potassium chloride slow release", ...]
def all_occurences(file, str):
initial = 0
while True:
initial = file.find(str, initial)
if initial == -1:
return
yield initial
initial += len(str)
offset = []
for item in meds_name_final_list:
number = list(all_occurences(narrative.lower(), item))
offset.append(number)
Желаемый результат: список начальных индексов / индексов в корпусах слова, которое нужно искать, например:
offset = [[1], [3, 10], [5, 50].....]
Этот код отлично работает для не очень длинных слов, таких как антибиотики, отделение неотложной помощи, инсулин и т. Д. Однако длинные слова, которые прерываются из-за нового межстрочного интервала, не распознаются вышеуказанной функцией.
Желаемое слово: potassium chloride slow release
Любое предложение, чтобы решить эту проблему?