> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 정규식을 사용하여 문자열에서 부동 소수점 숫자를 어떻게 추출할 수 있습니까?

Python에서 정규식을 사용하여 문자열에서 부동 소수점 숫자를 어떻게 추출할 수 있습니까?

DDD
풀어 주다: 2024-12-03 10:25:10
원래의
108명이 탐색했습니다.

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

정규 표현식을 사용하여 문자열에서 부동 소수점 숫자 추출

프로그래밍에서는 텍스트 문자열에서 데이터를 추출해야 하는 경우가 많습니다. 이 경우 "Current Level: 13.4 db"와 같은 문자열에서 부동 소수점 숫자를 추출하려고 합니다.

정규 표현식 솔루션

정규 표현식 사용 , 부동 소수점 숫자를 캡처하는 패턴을 정의할 수 있습니다. 다음 Python 코드를 고려하세요.

import re

string = "Current Level: 13.4db."
result = re.findall(r"\d+\.\d+", string)
print(result)
로그인 후 복사

이 코드는 정규식 패턴 d .d를 사용합니다.

  • d: 하나 이상의 숫자와 일치하며 전체 숫자 부분을 나타냅니다. float.
  • .: 소수점과 일치합니다.
  • d : 뒤에 하나 이상의 숫자와 일치합니다. 부동 소수점의 소수 부분을 나타내는 소수점.

결과 목록에는 추출된 부동 소수점 숫자인 ['13.4']가 포함됩니다.

강력한 솔루션 검증 포함

보다 강력한 접근 방식을 위해서는 r"[- 패턴을 사용하세요. ]?(?:d*.*d )". 이 패턴은 양수 및 음수 기호는 물론 소수점 앞의 선택적 숫자도 처리합니다.

result = re.findall(r"[-+]?(?:\d*\.*\d+)", string)
print(result)
로그인 후 복사

추출 외에도 사용자 입력을 부동 소수점으로 직접 변환하여 유효성을 검사할 수 있습니다.

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")
로그인 후 복사

이 코드는 입력 문자열의 토큰을 반복하여 부동 소수점으로 변환하려고 시도합니다. 변환이 성공하면 토큰은 부동 소수점입니다. 그렇지 않으면 다른 것으로 간주됩니다.

위 내용은 Python에서 정규식을 사용하여 문자열에서 부동 소수점 숫자를 어떻게 추출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿