Home > Backend Development > Python Tutorial > How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?

How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?

DDD
Release: 2024-12-03 10:25:10
Original
108 people have browsed it

How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?

Extracting Floating-Point Numbers from a String Using Regular Expressions

In programming, it's often necessary to extract data from text strings. In this case, you're seeking to extract floating-point numbers from a string like "Current Level: 13.4 db."

Regular Expression Solution

Using regular expressions, you can define a pattern that captures floating-point numbers. Consider the following Python code:

import re

string = "Current Level: 13.4db."
result = re.findall(r"\d+\.\d+", string)
print(result)
Copy after login

This code uses the regular expression pattern d .d :

  • d : Matches one or more digits, representing the whole number part of the float.
  • .: Matches the decimal point.
  • d : Matches one or more digits after the decimal point, representing the fractional part of the float.

The result list will contain the extracted floating-point number: ['13.4'].

Robust Solution with Validation

For a more robust approach, use the pattern r"[- ]?(?:d*.*d )". This pattern handles both positive and negative signs, as well as optional digits before the decimal point.

result = re.findall(r"[-+]?(?:\d*\.*\d+)", string)
print(result)
Copy after login

In addition to extraction, you can validate user input by attempting to convert it to a float directly:

user_input = "Current Level: 1e100 db"
for token in user_input.split():
    try:
        float_value = float(token)
        print(f"{float_value} is a float")
    except ValueError:
        print(f"{token} is something else")
Copy after login

This code iterates over the tokens in the input string and attempts to convert them to floats. If a conversion succeeds, the token is a float. Otherwise, it's considered something else.

The above is the detailed content of How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template