我有一個西班牙語文本文件,所以它有成千上萬的單詞,其中一些重音符號。我使用重新模塊來提取一些單詞,但是當我得到一個列表時,有些單詞是不完整的。編碼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