Je connais islower
et isupper
, mais pouvez-vous vérifier si ce caractère est ou non une lettre? Par exemple:
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
Existe-t-il un moyen de demander simplement si c'est un personnage en plus de faire .islower()
ou .isupper()
?
character.isalnum() or character == "_"
.Réponses:
Vous pouvez utiliser
str.isalpha()
.Par exemple:
Production:
la source
>>> print [x.isalpha() for x in u'Español-한국어']
vous donne [True, True, True, True, True, True, True, False, True, True, True] comme prévuRenvoie true si tous les caractères de la chaîne sont alphabétiques et qu'il y a au moins un caractère, false dans le cas contraire. Les caractères alphabétiques sont les caractères définis dans la base de données de caractères Unicode comme «Lettre», c'est-à-dire ceux dont la propriété de catégorie générale est l'un des «Lm», «Lt», «Lu», «Ll» ou «Lo». Notez que ceci est différent de la propriété «Alphabétique» définie dans la norme Unicode.
Dans python2.x:
Dans python3.x:
Ce code fonctionne:
la source
J'ai trouvé un bon moyen de le faire en utilisant une fonction et un code de base. C'est un code qui accepte une chaîne et compte le nombre de lettres majuscules, minuscules et aussi «autre». Autre est classé comme un espace, un signe de ponctuation ou même des caractères japonais et chinois.
la source
str.isalpha
c'est beaucoup plus facile que 'data = "abcdefg hi j 12345"
Production:
En utilisant,
str.isalpha()
vous pouvez vérifier s'il s'agit d'une lettre.la source
Cela marche:
la source
Cela marche:
la source