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 la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès