@Animkim
Питон вокруг меня

Как проверить есть в строке кириллица?

Можно без кода, мне в голову пришел только вариант с регуляркой, но наверно есть что-то попроще?
  • Вопрос задан
  • 12337 просмотров
Решения вопроса 4
s0ci0pat
@s0ci0pat
I'm Awesome
Что может быть проще r'[а-яА-ЯёЁ]'?
Ответ написан
aRegius
@aRegius
Python Enthusiast
>>> kirill = ('абвгдеёжзийклмнопрстуфхцчшщъыьэюя')
>>> text = 'Юvrsfы'
>>> find_kirill = [x for x in kirill if x in text.lower()]
>>> find_kirill
['ы', 'ю']
>>>
Ответ написан
@balamut108
Py
Учитывая что сейчас везде Юникод, то даю решение только для Юникода.
Согласно unicode-table.com/ru/#cyrillic и unicode-table.com/ru/#cyrillic-supplement.
Диапазоны кодов кириллических символов следующие: 0400— 04FF и 0500— 052F соответственно.

Значит задача сводится к тому что бы взять юникод символ и проверить его на вхождение в указанный интервал.
Ниже код функции в которую надо пулять Юникод символ:
def is_cyrrylic(symb):
    return True if u'\u0400' <= symb <=u'\u04FF' or u'\u0500' <= symb <= u'\u052F' else False


Данное решение приводится в учебных целях и не рекомендуются к использованию в практике.
Ответ написан
@abcd0x00
>>> def hascyr(s):
...     lower = set('абвгдеёжзийклмнопрстуфхцчшщъыьэюя')
...     return lower.intersection(s.lower()) != set()
... 
>>> hascyr('abcd')
False
>>> hascyr('abcdБdefg')
True
>>>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
если известна кодировка этой строки, то самое простое и прямое как уже указали в комментариях проверка вхождения кириллических символов. Если кодировка не указана - то только подбором всех мыслимых кодировок
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы