Maison >développement back-end >Tutoriel Python >Comment extraire au mieux les nombres des chaînes en Python : `re` ou `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!