Maison > développement back-end > Tutoriel Python > Comment puis-je extraire efficacement des nombres à partir de chaînes en Python ?

Comment puis-je extraire efficacement des nombres à partir de chaînes en Python ?

Mary-Kate Olsen
Libérer: 2024-12-21 22:50:11
original
229 Les gens l'ont consulté

How Can I Efficiently Extract Numbers from Strings in Python?

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

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

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

Pour convertir les chiffres extraits en entiers :

numbers = [int(chr) for chr in numbers]
print(numbers)  # [1, 2, 8, 9]
Copier après la connexion

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!

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