重複の可能性:
Pythonでファイルから文字を読み取る
実際の文字を除くすべての特殊文字からファイルから入力文字列を削除したい(キリル文字も削除しないでください)。私が見つけた解決策は、文字列をユニコードとして宣言し、パターンを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として定義するにはどうすればよいですか?