我已将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)
答案 0 :(得分:0)
您有一个更大的问题-您的程序将如何知道:
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
不是单词。