连接文本文件中的单词

时间:2019-02-28 14:31:55

标签: python concatenation overwrite word

我已将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)

1 个答案:

答案 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不是单词。