Maison >développement back-end >Tutoriel Python >Comment puis-je extraire efficacement des nombres à partir de chaînes en Python ?

Comment puis-je extraire efficacement des nombres à partir de chaînes en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-21 22:50:11318parcourir

How Can I Efficiently Extract Numbers from Strings in Python?

Extraire des nombres à partir de chaînes en Python

Lors de l'extraction de nombres à partir de chaînes en Python, deux approches principales peuvent être utilisées : les expressions régulières et l'isdigit () méthode. Le choix dépend des exigences spécifiques de la tâche.

Expressions régulières

Les expressions régulières offrent une solution polyvalente et puissante pour extraire des nombres. À l'aide de la fonction re.findall(), les nombres peuvent être identifiés dans une chaîne en spécifiant un modèle. Par exemple, r'd ' correspond à n'importe quelle séquence d'un ou plusieurs chiffres.

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)  # [12, 89]

Pour faire correspondre des nombres délimités par des limites de mots, telles que des espaces ou des signes de ponctuation, utilisez b :

numbers_delim = re.findall(r'\b\d+\b', line)
print(numbers_delim)  # [12, 89]

Méthode isdigit()

La méthode isdigit() renvoie True si tous les caractères d'une chaîne sont des chiffres. Il peut être utilisé conjointement avec le découpage et la compréhension de chaînes pour extraire des nombres d'une chaîne.

line = "hello 12 hi 89"

numbers = []
for chr in line:
    if chr.isdigit():
        numbers.append(chr)

print(numbers)  # ['1', '2', '8', '9']

Pour convertir les chiffres extraits en entiers :

numbers = [int(chr) for chr in numbers]
print(numbers)  # [1, 2, 8, 9]

Conclusion

Bien que les expressions régulières et la méthode isdigit() puissent être utilisées pour extraire des nombres à partir de chaînes, les expressions régulières offrent une plus grande flexibilité et un plus grand contrôle sur le processus de mise en correspondance. Cependant, pour les tâches d'extraction simples, la méthode isdigit() peut être plus simple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn