Comment vérifier si une chaîne contient des caractères cyrilliques?
Par exemple.
>>> has_cyrillic('Hello, world!')
False
>>> has_cyrillic('Привет, world!')
True
regex
prend en charge les propriétés Unicode, ainsi que quelques formes courtes.
>>> regex.search(r'\p{IsCyrillic}', 'Hello, world!')
>>> regex.search(r'\p{IsCyrillic}', 'Привет, world!')
<regex.Match object; span=(0, 1), match='П'>
>>> regex.search(r'\p{IsCyrillic}', 'Hello, wёrld!')
<regex.Match object; span=(8, 9), match='ё'>
Vous pouvez utiliser une expression régulière pour vérifier si une chaîne contient des caractères dans le а-я, А-Я
gamme:
import re
def has_cyrillic(text):
return bool(re.search('[а-яА-Я]', text))
Alternativement, vous pouvez faire correspondre le toute la gamme de script cyrillique :
def has_cyrillic(text):
return bool(re.search('[\u0400-\u04FF]', text))
Cela correspondra également aux lettres de l'alphabet cyrillique étendu (par exemple ё, Є, ў).