连接文本文件中的单词

问题描述 投票:-3回答:1

我已经将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)
python concatenation overwrite word
1个回答
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不是一个字。

© www.soinside.com 2019 - 2024. All rights reserved.