Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > как проверить, содержит ли строка кирилицу


Автор: Carlos0N 3.11.2012, 23:14
Здравствуйте! Необходимо проверить, содержит ли строка только кирилицу, т.е. в моём случае это 'а-я' 'А-Я' и '-'
Вариант 
Код
 word.find(r'[a-zA-Z]') != -1 
 
почему-то не работает и на строке "asd" выдает -1
Может быть пробовать перекодировать в какую-то кодировку с только кирилицей и смотреть, будет ли ошибка? Я правда хз какую лучше тогда взять.

Автор: 586 4.11.2012, 00:07
Код
import re;
re.match(r"^[а-яА-ЯёЁ\-]*$", "фыва")

Автор: Carlos0N 4.11.2012, 00:23
586

спасибо! 
как пишут в документации, такой вариант будет работать быстрее (если проверка проходит много раз), т.к. регулярное выражение будет кэшироваться.

Код

prog = re.compile(pattern)
result = prog.match(string)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)