/ PROGRAMING, PYTHON

문자열에서 숫자 추출

문자열에서 숫자 추출

기본적으로 ChatGPT를 이용하여 틀을 잡고 만든 것

문자열에서 숫자만 추출하는 문제
문자열에서 숫자만 추출하여 출력

문자열에서 숫자 추출 1

문자열에서 숫자만 출력하세요. (정규표현식 사용)

import re

def extract_numbers(s):
    # 숫자가 하나라도 들어가는 연속된 문자를 찾는다.
    numbers = re.findall("[0-9]+",s)
    # 각 원소는 문자열로 되어 있어 정수형으로 변환해준다.
    return [int(x) for x in numbers]

print(extract_numbers("12hahahah2222hey"))
[12, 2222]
  • 함수
    • re 라이브러리의 findall 함수를 사용해서 특정 패턴을 정규표현식으로 찾아 해당 되는 문자들을 리스트로 저장
    • 리스트 내 for문을 이용하여 int 형으로 각 문자를 숫자로 변경해준다.
  • 알고리즘
    1. 숫자가 하나라도 들어가는 연속된 문자를 찾는다.
    2. 각 원소는 문자열로 되어 있어 정수형으로 변환해준다.
  • 추가 함수
    • isdigit를 사용
        if c.isdigit() # 모든 문자가 숫자형인지 확인