Extraction de nombres à partir de chaînes en Python
L'extraction de nombres à partir d'une chaîne peut être réalisée à l'aide d'expressions régulières ou de la méthode isdigit(). Comparons les approches pour déterminer laquelle est la mieux adaptée à l'objectif.
Expressions régulières
Les expressions régulières offrent un outil puissant pour faire correspondre des modèles dans des chaînes. Pour extraire des nombres, vous pouvez utiliser l'expression régulière suivante :
r'\d+'
Cette expression correspond aux chaînes contenant un ou plusieurs chiffres décimaux. Par exemple, considérons la chaîne « hello 23 hi 33 ». Le code suivant utilisera l'expression régulière pour extraire les nombres :
import re line = "hello 23 hi 33" result = re.findall(r'\d+', line) print(result) # [23, 33]
Méthode isdigit()
La méthode isdigit() est une approche plus simple pour tester si un caractère est un chiffre décimal. Cependant, il ne permet pas d’extraire des nombres dans leur ensemble. Pour utiliser isdigit(), vous devrez parcourir la chaîne caractère par caractère :
line = "hello 23 hi 33" result = [] for char in line: if char.isdigit(): result.append(int(char)) print(result) # [2, 3, 3]
Comparaison
En fin de compte, le choix entre les expressions régulières et isdigit () dépend du cas d'utilisation spécifique. Les expressions régulières offrent plus de flexibilité pour la mise en correspondance et l'extraction de modèles complexes. Ils prennent également en charge des fonctionnalités telles que les limites de mots (b) pour faire correspondre les nombres entourés d'espaces.
Pour une extraction simple de nombres à partir d'une chaîne, la méthode isdigit() peut être suffisante. Cependant, pour les cas plus complexes ou si l'extraction de nombres dans leur ensemble est nécessaire, les expressions régulières offrent une solution plus complète.
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!