PaliSkill
← Python intermédiaire

Leçon 7 / 9 — Chapitre 6: Chaînes avancées et formatage

re.findall() : trouver toutes les correspondances

re.search() (vu à la leçon précédente) ne renvoie que la première correspondance trouvée. re.findall() renvoie, à la place, une liste de toutes les correspondances présentes dans le texte.

import re

texte = "riz 5, huile 8, sucre 3"
nombres = re.findall(r"[0-9]+", texte)
print(nombres)

Ce code affiche ['5', '8', '3'] : re.findall() parcourt tout le texte et collecte chaque portion correspondant au motif [0-9]+, dans une liste de chaînes de caractères.

Comme toujours avec du texte extrait, ces valeurs restent des chaînes : les convertir en entiers pour un calcul demande un appel explicite à int(), éventuellement via une compréhension de liste (vue au troisième chapitre de ce module) :

nombres_entiers = [int(n) for n in nombres]
print(sum(nombres_entiers))

Ce code affiche 16 : la compréhension convertit chaque chaîne en entier, puis sum() additionne la liste résultante.

À vous de jouer : avec re.findall(r"[0-9]+", texte), extrayez tous les nombres d'une phrase contenant plusieurs quantités, puis calculez leur somme.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 92 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.