Python의 문자열에서 숫자 추출

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

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
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