Maison >développement back-end >Tutoriel Python >Comment extraire au mieux les nombres des chaînes en Python : `re` ou `isdigit()` ?

Comment extraire au mieux les nombres des chaînes en Python : `re` ou `isdigit()` ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-29 09:17:10773parcourir

How to Best Extract Numbers from Strings in Python: `re` or `isdigit()`?

Extraire des nombres à partir de chaînes en Python

Lors de l'extraction de nombres à partir de chaînes en Python, on a le choix entre utiliser des expressions régulières ou l'isdigit( ) méthode.

Expressions régulières

Expressions régulières fournissent un moyen puissant de faire correspondre des modèles dans des chaînes. Pour l'extraction de nombres, l'expression régulière suivante peut être utilisée : d . Cette expression correspond à des séquences d'un ou plusieurs chiffres.

Pour utiliser des expressions régulières, Python fournit le module re. Le code suivant montre comment extraire des nombres d'une chaîne à l'aide d'une expression régulière :

import re

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

Méthode isdigit()

La méthode isdigit(), disponible dans le Bibliothèque standard Python, renvoie True si la chaîne est constituée uniquement de chiffres. Cette méthode peut être utilisée pour parcourir une chaîne et extraire des chiffres.

line = "hello 12 hi 89"
result = [char for char in line if char.isdigit()]
print(result)  # Output: ['1', '2', '8', '9']

Pour convertir la liste de caractères en entiers, on peut utiliser la compréhension de liste :

result = [int(char) for char in line if char.isdigit()]
print(result)  # Output: [1, 2, 8, 9]

Comparaison

Les expressions régulières et la méthode isdigit() peuvent extraire efficacement des nombres à partir de chaînes. Cependant, les expressions régulières offrent plus de flexibilité et de contrôle, permettant une correspondance de modèles plus complexe. La méthode isdigit(), quant à elle, est plus simple et plus directe à utiliser.

Conclusion

Le choix entre les expressions régulières et la méthode isdigit() dépend sur les exigences spécifiques de la tâche. Pour les cas plus simples, la méthode isdigit() peut suffire. Pour une correspondance de modèles plus complexe, les expressions régulières fournissent une solution plus robuste et adaptable.

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