Python의 문자열에서 숫자 추출

Syed Moiz Haider 2022년1월22일
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]

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

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

Python의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 솔루션은 음수와 양수 모두에 대해 작동하며 리스트 내포 접근 방식에서 발생하는 문제를 극복합니다.

Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

관련 문장 - Python String