Comment vérifier si un caractère est une lettre, un chiffre, un caractère spécial ou un espace en python ?

Published: 04 octobre 2021

Tags: Python; Strings;

DMCA.com Protection Status

Exemples de comment vérifier si un caractère d'une chaîne de caractères est une lettre, un chiffre, un caractère spécial ou un espace en python ?

Créer une chaîne de caractères en python

Créons par exemple la phrase suivante :

sentence = "   Hello World !"

Note:

type(sentence)

donne bien

str

Vérifier le type de caractère

Vérifier si un caractère est une lettre

Pour vérifier si un caractère est une lettre, une solution est d'utiliser isalpha()

"a".isalpha()

donne

True

tandis que

"1".isalpha()

donne

False

Vérifier si un caractère est un nombre

Pour vérifier si un caractère est une lettre, une solution est d'utiliser isalpha()

"1".isdigit()

donne

True

tandis que

"a".isdigit()

donne

False

Vérifier si un caractère est un espace

Pour vérifier si un caractère est une lettre, une solution est d'utiliser isalpha()

"a".isalpha()

donne

True

Vérifier si un caractère est un caractère spécial

Pour vérifier si un caractère est un caractère spécial, une solution consiste à vérifier s'il ne s'agit pas d'une lettre, d'un chiffre ou d'un espace :

if not ("!".isalpha() or "!".isdigit() or "!".isspace()):
        print("It is a special character")

donne

It is a special character

Une autre solution consiste à définir une liste de caractères spéciaux :

sc_list = list('[@_!#$%^&*()<>?/\|}{~:]')

c = '!'

if c in sc_list:
         print("It is a special character")

donne aussi

It is a special character

Itérer sur les caractères

for c in sentence:
    print(c)

donne

H
e
l
l
o

W
o
r
l
d

!

Parcourons maintenant chaque caractère et vérifions le type :

for c in sentence:
    if c.isalpha(): 
        print("character '{}' is a letter".format(c))
    else:
        if c.isdigit(): 
            print("character '{}' is a number".format(c))
        else:
            if c.isspace(): 
                print("character '{}' is a space".format(c))
            else:
                print("character '{}' is a special character".format(c))

donne alors

character ' ' is a space
character ' ' is a space
character ' ' is a space
character 'H' is a letter
character 'e' is a letter
character 'l' is a letter
character 'l' is a letter
character 'o' is a letter
character ' ' is a space
character 'W' is a letter
character 'o' is a letter
character 'r' is a letter
character 'l' is a letter
character 'd' is a letter
character ' ' is a space
character '!' is a special character

Références