У меня есть строка Python Unicode. Я хочу убедиться, что он содержит только буквы латинского алфавита (от A до Z), а также буквы, обычно встречающиеся в европейских алфавитах, таких как ß, ü, ø, é, à и î. Он должен , а не содержать символы из других алфавитов (китайский, японский, корейский, арабский, кириллица, иврит и т. Д.). Какой лучший способ сделать это?
В настоящее время я использую этот фрагмент кода, но я не знаю, лучший ли это способ:
def only_roman_chars(s):
try:
s.encode("iso-8859-1")
return True
except UnicodeDecodeError:
return False
(Я использую Python 2.5. Я также делаю это в Django, поэтому, если фреймворк Django может обрабатывать такие строки, я могу использовать эту функциональность - я не встречал ничего подобного, однако.)