본문 바로가기
성장하기/Python

문자열에서 숫자를 추출하는 방법

by 솔로 슈퍼스타 2023. 6. 17.
728x90

Python에서 문자열에서 숫자만 추출하는 방법은 다양합니다. 여기에 몇 가지 예시를 제시해드리겠습니다.

1. 정규 표현식(Regular Expression) 사용:
정규 표현식을 사용하여 문자열에서 숫자만 추출할 수 있습니다. re 모듈의 findall() 함수를 사용하여 숫자를 찾아냅니다.

 

import re

string = "Hello123World456"
numbers = re.findall(r'\d+', string)
print(numbers)

위의 코드를 실행하면 ['123', '456']가 출력됩니다. re.findall() 메서드에 전달한 정규 표현식 r'\d+'은 하나 이상의 숫자(\d)가 연속해서 나타나는 패턴을 찾아냅니다.

2. 숫자인지 확인 후 추출:
문자열에서 문자 하나씩 확인하여 숫자인 경우만 추출할 수 있습니다. isdigit() 메서드를 사용하여 문자가 숫자인지 확인합니다.

 

string = "Hello123World456"
numbers = ''.join([char for char in string if char.isdigit()])
print(numbers)

위의 코드를 실행하면 '123456'이 출력됩니다. 리스트 컴프리헨션을 사용하여 문자열의 각 문자에 대해 isdigit() 메서드를 호출하여 숫자인 경우만 남겨두고, 이후 join() 메서드를 사용하여 문자열로 합칩니다.

3. 숫자 문자열을 정수로 변환:
숫자만 추출한 후에 숫자 문자열을 정수로 변환하여 사용할 수 있습니다. 이를 위해 int() 함수를 사용합니다.

 

string = "Hello123World456"
numbers = [int(char) for char in string if char.isdigit()]
print(numbers)

위의 코드를 실행하면 [1, 2, 3, 4, 5, 6]이 출력됩니다. 리스트 컴프리헨션을 사용하여 문자열의 각 숫자 문자(char.isdigit())를 정수로 변환하여 리스트에 저장합니다.

위의 예시들은 문자열에서 숫자만 추출하는 다양한 방법을 보여주고 있습니다. 원하는 방식을 선택하여 문자열에서 숫자를 추출할 수 있습니다.

'성장하기 > Python' 카테고리의 다른 글

[기타] :=  (0) 2023.06.17
이진수 변환  (0) 2023.06.17
fromkeys  (0) 2023.06.16
gcd와 lcm  (0) 2023.06.16
maketrans 와 translate  (0) 2023.06.16