복잡한 문자열을 처리할 때는 정규식을 활용할 수 있습니다. 파이썬에서 정규식 라이브러리로는 보통 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+는 한자리 이상의 숫자라는 뜻입니다.
'Dev > python' 카테고리의 다른 글
[python] 메모장에 데이터 쓰고, 추가하고, 읽기 (with 구문) (0) | 2023.01.10 |
---|---|
[python] memcached에 캐시 데이터 쓰고 읽기(pymemcache) (0) | 2023.01.09 |
[python] Redis에 데이터 쓰고 읽기 (0) | 2023.01.08 |
[python] pydantic 모델을 딕셔너리(dict)로 변환하는 방법 (0) | 2023.01.07 |
[python] 가상환경 virtualenv 사용 방법 (venv와 비교) (0) | 2023.01.06 |
[python] Pydantic 이해하기 (data class보다 더 나은 듯?) (0) | 2023.01.04 |
[python] 패키지 관리자 poetry의 pyproject.toml과 poetry.lock (2) | 2023.01.03 |
[python + sqlalchemy] sqlalchemy로 SQL 없이 관계형 데이터베이스 CRUD 하기 (0) | 2022.12.30 |