Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 문자열에서 숫자를 추출하는 방법은 무엇입니까?

<시간/>

양의 정수만 원하는 경우 다음과 같이 숫자를 분할하고 검색할 수 있습니다.

>>> str ="h3110 23 고양이 444.4 토끼 11 2 개">>> [int(s) in str.split() if s.isdigit()][23, 11, 2] 

다른 모든 경우에는 정규식을 사용하는 것이 가장 좋습니다. 또한 값을 추출할 때 string에서 int로 변환하는 것이 가장 좋습니다. 예:

>>> import re>>> [float(s) for s in re.findall(r'-?\d+\.?\d*', 'he33.45llo -42 I\'m a 32 string 30 ')][33.45, -42.0, 32.0, 30.0]