我有这段代码
for j in range(length_termlist):
searchterm=''.join(termlist[j])
if any(searchterm in s for s in text[k]):
do something
termlist是包含我的搜索字词的列表。这些我想在包含多个句子的第二个列表(文本)中找到。这个工作到目前为止,但准确性不够好,因为它找到任何字符串组合。现在我宁愿在最后找到搜索词和通配符来考虑复数。
现在代码示例:在单词“carry”中检测到搜索词“car”。
它应该如何:搜索词“car”只能在单词“car”,“cars”......“car?”中被检测到。或类似的东西。
上面的代码是否有任何简单的添加或是否需要其他搜索方法?
编辑:目的通常是查找搜索词出现的文本。一点点差异(例如复数)有助于识别具有相同语义上下文的更多文本。
答案 0 :(得分:0)
re模块可以执行此操作
regex = re.compile(r'\b%ss?\b' % re.escape(searchterm))
if any(regex.search(s) for s in text[k]) ...