我有一个西班牙语文本文件,所以它有成千上万的单词,其中一些重音符号。我使用重新模块来提取一些单词,但是当我得到一个列表时,有些单词是不完整的。编码Python列表以便使用重新模块
这是我的代码的第一部分:
projectsinline = open('projectsinline.txt', 'r')
for lines in projectsinline:
pattern = r'\b[a-zA-Z]{6}\b'
words = re.findall(pattern, lines)
print words
这是输出的一个例子:
['creaci', 'Estado', 'relaci', 'Regula', 'estado', 'comisi', 'delito']
它应该是这样的:
['creación', 'Estado', 'relación', 'Regula', 'estado', 'comisión', 'delito']
我发现这个答案:Encode Python list to UTF-8但它没有帮助,因为我的文本来自一个文本文件,所以我不能使用thi s代码:
import re
import codecs
import sys
sys.stdout = codecs.getwriter('UTF-8')(sys.stdout)
projectsinline = open('projectsinline.txt', 'r')
for lines in projectsinline:
pattern = ur'\b[a-zA-Z]{6}\b'
unicode_pattern = re.compile(pattern, re.UNICODE)
result = unicode_pattern.findall(lines)
print result
现在,输出会跳过有重音的单词。
任何意见,以解决这个问题,赞赏?
谢谢!
什么是你想用''在你的正则表达式{6}模式呢? – happydave
're.compile(r“\ w +”,re.UNICODE)'是否适合您的情况? – univerio
{6}发现只有6个字母的单词 – estebanpdl