Python의 문자열에서 숫자 추출

이 자습서에서는 Python의 문자열에서 숫자를 가져 오는 방법을 설명합니다. 또한 다른 접근 방식을 사용하여 개념을 더 명확히하기 위해 몇 가지 예제 코드를 나열합니다.

리스트 내포을 사용하여 문자열에서 숫자 추출

문자열의 숫자는 간단한 목록 이해로 얻을 수 있습니다. split()메서드는 문자열을 문자 목록으로 변환하는 데 사용되며isdigit()메서드는 반복을 통해 숫자가 있는지 확인하는 데 사용됩니다.

기본 코드 예제는 다음과 같습니다.

temp_string = "Hi my age is 32 years and 250 days12"
print(temp_string)

numbers = [int(temp)for temp in temp_string.split() if temp.isdigit()]

print(numbers)

출력:

Hi my age is 32 years and 250 days12
[32, 250]

그러나이 코드는 알파벳과 함께 제공되는 숫자를 식별하지 않습니다.

RegEx 모듈을 사용하여 문자열에서 숫자 추출

파이썬의re 모듈은 문자열을 검색하고 결과를 추출 할 수있는 함수도 제공합니다. re 모듈은 모든 일치 항목의 목록을 반환하는findall()메서드를 제공합니다. 예제 코드는 다음과 같습니다.

import re

temp_string = "Hi my age is 32 years and 250.5 days12"
print(temp_string)
print([float(s) for s in re.findall(r'-?\d+\.?\d*', temp_string)])

출력:

Hi my age is 32 years and 250.5 days12
[32.0, 250.5, 12.0]

RegEx 솔루션은 음수와 양수 모두에 대해 작동하며 리스트 내포 접근 방식에서 발생하는 문제를 극복합니다.

관련 문장 - Python String

  • Python에서 문자열의 문자 발생 횟수 계산
  • Python에서 문자열의 여러 문자를 바꾸는 방법