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!