我有一个包含句子的文件,其中一些是西班牙语,包含重音字母(例如 é)或特殊字符(例如 ¿)。我必须能够在句子中搜索这些字符,以便确定该句子是西班牙语还是英语。
我已经尽力做到这一点,但没有成功。以下是我尝试过的解决方案之一,但显然给出了错误的答案。
sentence = ¿Qué tipo es el? #in str format, received from standard open file method
sentence = sentence.decode('latin-1')
print 'é'.decode('latin-1') in sentence
>>> False
我也尝试使用 codecs.open(.., .., 'latin-1') 来读取文件,但这没有帮助。然后我尝试了 u'é'.encode('latin-1'),但没有成功。
我在这里没有想法,有什么建议吗?
@icktoofay 提供了解决方案。我最终保留了文件的解码(使用 latin-1),但随后使用 Python unicode 作为字符(u'é'
)。这需要我在脚本顶部设置 Python unicode 编码。最后一步是使用该unicodedata.normalize
方法对两个字符串进行标准化,然后进行相应的比较。感谢你们的及时和大力支持。