微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-查找被换行符打破的长单词

我正在尝试搜索单词列表,因此生成了以下代码:

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].....]

该代码非常适用于不太长的单词,例如抗生素,急诊病房,胰岛素等.但是,上述功能无法检测到被换行符打断的长单词.

所需词:氯化钾缓慢释放

有什么解决的建议吗?

解决方法:

这个怎么样?

def all_occurences(file, str):
    initial = 0
    file = file.replace('\n', ' ')
    while True:
      initial = file.find(str, initial)
      if initial == -1: return
      yield initial
      initial += len(str)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐