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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-26 03:35:09383parcourir

How Can I Extract Floating-Point Numbers from Strings in Python?

Extraire des nombres à virgule flottante à partir de chaînes à l'aide de RegEx ou de la fonction float de Python

Lorsque vous travaillez avec des chaînes contenant des nombres à virgule flottante, il est souvent nécessaire d'extraire ces nombres pour traitement ou analyse ultérieurs. Ceci peut être réalisé à l'aide d'expressions régulières (RegEx) ou de la fonction Python float() intégrée.

Utilisation d'expressions régulières (RegEx)

Les expressions régulières offrent un moyen puissant de faire correspondre et d'extraire des modèles. à partir de cordes. Dans le problème donné, les nombres à virgule flottante peuvent être extraits à l'aide du modèle RegEx suivant :

"\d+\.\d+"

Ce modèle correspond à des chaînes composées d'un ou plusieurs chiffres suivis d'un point décimal et d'un ou plusieurs chiffres. Pour utiliser ce modèle, vous pouvez importer le module re et appliquer la fonction re.findall() sur la chaîne d'entrée. Par exemple :

import re

input_string = "Current Level: 13.4 db."
matches = re.findall("\d+\.\d+", input_string)
print(matches)  # Output: ['13.4']

Utilisation de la fonction float de Python

La fonction float() de Python convertit directement une chaîne représentant un nombre à virgule flottante en un objet float. Cette méthode convient lorsque vous souhaitez valider la saisie de l'utilisateur ou effectuer des opérations numériques sur les nombres extraits. Cependant, il est important de gérer les exceptions si la chaîne d'entrée n'est pas un nombre à virgule flottante valide.

try:
    user_input = "Current Level: 1e100 db"
    for token in user_input.split():
        float_value = float(token)
        print(float_value, "is a float")
except ValueError:
    print(token, "is something else")

Dans cet exemple, float_value est un flottant valide si aucune exception n'est déclenchée. Sinon, la chaîne est imprimée comme "autre chose".

Les deux méthodes peuvent être utilisées efficacement pour extraire des nombres à virgule flottante à partir de chaînes, en fonction des exigences spécifiques de votre application. RegEx offre une flexibilité pour faire correspondre des modèles spécifiques, tandis que la fonction float() offre une simplicité et une gestion des exceptions pour valider les entrées de l'utilisateur.

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