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