我有一个Python Unicode字符串.我想确保它只包含罗马字母表(A到Z)中的字母,以及欧洲字母表中常见的字母,如?、?和?它应该not包含其他字母(中文、日文、韩文、阿拉伯文、西里尔文、希伯来文等)中的字符.做这件事最好的方法是什么?
目前我正在使用这段代码,但我不知道这是否是最好的方式:
def only_roman_chars(s):
try:
s.encode("iso-8859-1")
return True
except UnicodeDecodeError:
return False
(我使用的是Python2.5.我也在Django中这样做,所以如果Django框架碰巧有一种方法来处理这样的字符串,我可以使用该功能--不过,我还没有遇到过类似的情况.)