文章を含むファイルがあります。その一部はスペイン語で、アクセント付きの文字(例:é)または特殊文字(例:¿)が含まれています。文章がスペイン語か英語かを判断できるように、文章内のこれらの文字を検索できる必要があります。
私はこれを達成するために最善を尽くしましたが、それを正しく行うことができませんでした。以下は私が試した解決策の1つですが、明らかに間違った答えを出しました。
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を使用)、文字(u'é'
)にPythonユニコードを使用しました。これには、スクリプトの先頭にPythonユニコードエンコーディングを設定する必要がありました。最後のステップは、unicodedata.normalize
メソッドを使用して両方の文字列を正規化し、それに応じて比較することでした。迅速で素晴らしいサポートをありがとうございました。