Comment extraire des nombres d'une chaîne de caractèresen Python

Syed Moiz Haider 20 juillet 2021
Comment extraire des nombres d'une chaîne de caractèresen Python

Ce tutoriel explique comment obtenir des nombres à partir d’une chaîne en Python. Il donne également quelques exemples de codes pour clarifier davantage le concept en utilisant différentes approches.

Utiliser la compréhension des listes pour extraire des nombres d’une chaîne

Les nombres d’une chaîne peuvent être obtenus par simple compréhension de liste. La méthode split() est utilisée pour convertir une chaîne en une liste de caractères et la méthode isdigit() est utilisée pour vérifier si un chiffre est trouvé par l’itération.

Un exemple de code de base est donné comme suit :

temp_string = "Hi my age is 32 years and 250 days12"
print(temp_string)

numbers = [int(temp) for temp in temp_string.split() if temp.isdigit()]

print(numbers)

Production :

Hi my age is 32 years and 250 days12
[32, 250]

Cependant, ce code n’identifie pas les chiffres qui viennent avec l’alphabet.

Utilisez le module re pour extraire des nombres d’une chaîne de caractères

Le module re de Python fournit également des fonctions qui peuvent rechercher dans la chaîne de caractères et en extraire les résultats. Le module re fournit avec la méthode findall() qui retourne une liste de toutes les correspondances. Un exemple de code est donné ci-dessous :

import re

temp_string = "Hi my age is 32 years and 250.5 days12"
print(temp_string)
print([float(s) for s in re.findall(r"-?\d+\.?\d*", temp_string)])

Production :

Hi my age is 32 years and 250.5 days12
[32.0, 250.5, 12.0]

La solution RegEx fonctionne pour les nombres négatifs et positifs et surmonte le problème rencontré dans l’approche de compréhension de la liste.

Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Article connexe - Python String