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
Libérer: 2024-12-20 04:00:10
original
295 Les gens l'ont consulté

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+'
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal