如何检查字符串中的unicode或转义序列?

Jon*_*Jon 1 python string unicode escaping

我有一个单词的词典列表,其中一些单词包含如下所示的序列:

K\xc3\xb6LNKöLN正确显示.

我想清除这些单词的列表,这样它们只包含简单的ascii字符.如何进行简单的True/False检查以查看字符串是否包含此类序列?

Joh*_*web 5

str.isalpha() 可能在这里有所帮助:

>>> 'KöLN'.isalpha()
False
>>> 'K\xc3\xb6LN'.isalpha()
False
>>> 'Cologne'.isalpha()
True
Run Code Online (Sandbox Code Playgroud)

过滤:

>>> [word for word in ('KöLN', 'K\xc3\xb6LN', 'Cologne') if word.isalpha()]
['Cologne']
Run Code Online (Sandbox Code Playgroud)

  • 重要的是要小心,但是:u'KöLN'.isalpha()给出True,而'KöLN'.isalpha()给出False [刚刚在UTF-8编码文件中用2.7尝试过.]我想我只是尝试将字符串转换为ascii并根据是否引发异常来决定. (2认同)