문자열에서 숫자 추출
문자열에서 숫자 추출
기본적으로 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 형으로 각 문자를 숫자로 변경해준다.
- 알고리즘
- 숫자가 하나라도 들어가는 연속된 문자를 찾는다.
- 각 원소는 문자열로 되어 있어 정수형으로 변환해준다.
- 추가 함수
- isdigit를 사용
if c.isdigit() # 모든 문자가 숫자형인지 확인
- isdigit를 사용