Skip to main content
 首页 » 编程设计

python之在不完美的文本中查找字符串的所有出现

2025年05月04日18lyj

我试图在从 PDF 文件中提取的长文本中找到一个字符串,并获取该字符串在文本中的位置,然后返回该字符串之前的 100 个单词和之后的 100 个单词。 问题是提取不完美,所以我遇到了这样的问题:

查询字符串为“测试文本”

文本可能如下所示:

This is atest textwith a problem

如你所见,“test”一词与字母“a”相连,“text”一词与“with”相连

所以唯一对我有用的函数是 __contains __,它不返回单词的位置。

有什么想法可以在这样的文本中找到一个词的所有出现及其位置吗?

非常感谢

请您参考如下方法:

您没有指定所有要求,但这适用于您当前的问题。程序打印出 9 和 42,它们是两次出现的 test text 的开始。

import re 
filt = re.compile("test text") 
 
for match in filt.finditer('This is atest textwith a problem. another test text'): 
    print match.start()