Python의 문자열에서 숫자 추출
Syed Moiz Haider
2022년1월22일
이 자습서에서는 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
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