Maison >développement back-end >Tutoriel Python >Regex ou `isdigit()` ? Quel est le meilleur moyen d'extraire des nombres à partir de chaînes en Python ?

Regex ou `isdigit()` ? Quel est le meilleur moyen d'extraire des nombres à partir de chaînes en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 04:00:10299parcourir

Regex or `isdigit()`? Which is Best for Extracting Numbers from Strings in Python?

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!

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