可能重复:
在 Python 中从文件中读取字符
我想从文件中删除所有特殊字符的输入字符串,实际字母除外(即使是西里尔字母也不应该被删除)。我找到的解决方案手动将字符串声明为 unicode 和带有re.UNICODE
标志的模式,以便检测到来自不同语言的实际字母。
# -*- coding: utf-8 -*-
import re
pattern = re.compile("[^\w\d]",re.UNICODE)
n_uni = 'ähm whatßs äüöp ×äØü'
uni = u'ähm whatßs äüöp ×äØü'
words = pattern.split(n_uni) #doesn't work
u_words = pattern.split(uni) #works
因此,如果我直接在源代码中编写字符串并手动将其定义为 Unicode,它会给我所需的输出,而非 Unicode 字符串给我的只是垃圾:
"ähm whatßs äüöp äØü" -> unicode
"hm what s ü p ü" -> non-unicode even with some invalid characters
我现在的问题是如何将来自文件的输入定义为 Unicode?