我已经将pdf文件导出为.txt,我观察到由于换行,许多单词被分成两部分。所以,在这个程序中,我想加入文本中分隔的单词,同时保持句子中正确的单词。最后,我想获得一个最终的.txt文件(或至少一个令牌列表),所有单词都拼写正确。谁能帮我?
我目前的文字是这样的:
我需要你的帮助,因为我不是一个优秀的程序员。
结果我需要:
我需要你的帮助,因为我不是一个优秀的程序员。
from collections import defaultdict
import re
import string
import enchant
document_text=open('test-list.txt','r')
text_string=document_text.read().lower()
lst=[]
errors=[]
dic=enchant.Dict('en_UK')
d=defaultdict(int)
match_pattern = re.findall(r'\b[a-zA-Z0-9_]{1,15}\b', text_string)
for w in match_pattern:
lst.append(w)
for i in lst:
if dic.check(i) is True:
continue
else:
a=list(map(''.join, zip(*([iter(lst)]*2))))
if dic.check(a) is True:
continue
else:
errors.append(a)
print (lst)
你有一个更大的问题 - 你的程序将如何知道:
be
cause
......应该被视为一个字?
如果你真的想,你可以用空格替换换行符:
import re
document_text = """
i need your help be
cause i am not a good programmer
""".lower().replace("\n", '')
print([w for w in re.findall(r'\b[a-zA-Z0-9_]{1,15}\b', document_text)])
这将正确拼写检查because
,但在以下情况下会失败:
Hello! My name is
Foo.
...因为isFoo
不是一个字。