2023-01-06 22:31:34

복잡한 문자열을 처리할 때는 정규식을 활용할 수 있습니다. 파이썬에서 정규식 라이브러리로는 보통 re를 사용합니다. 

 

오늘은 문자열에서 연속된 숫자들만 추출하여 파이썬 리스트를 생성하는 예제를 소개해드리겠습니다. 

 

import re

test_str = "123,44-24,15asfd   24"
num_list = re.findall(r'\d+', test_str)
print(num_list)

 

위 코드를 실행해보면 다음과 같이 숫자들만 잘 뽑아내서 리스트에 담은 것을 확인할 수 있습니다. 

 

 

핵심 코드인 re.findall(r'패턴', 문자열)을 좀 더 깊이 파고들어 보겠습니다. 우선 findall 함수는 문자열에서 패턴을 만족하는 모든 문자열을 찾아서 리스트로 반환하라는 뜻입니다. 

 

그렇다면 \d+ 패턴의 의미를 살펴보겠습니다. \d는 숫자를 뜻합니다. +는 "하나 이상"이란 뜻입니다. 따라서 \d+는 한자리 이상의 숫자라는 뜻입니다.