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

Python의 문자열에서 숫자를 제외한 문자를 제거하는 방법은 무엇입니까?

<시간/>

이를 달성하기 위한 다양한 방법이 있습니다. for ... if 문을 사용하여 숫자가 아닌 문자를 걸러낼 수 있습니다. 예:

>>> s = "H3ll0 P30P13"
>>> ''.join(i for i in s if i.isdigit())
'303013'

필터와 람다 함수를 사용하여 문자를 필터링할 수도 있습니다. 예:

>>> s = "H3ll0 P30P13"
>>> filter(lambda x: x.isdigit(), s)
'303013'

이러한 간단한 작업에는 무리가 있지만 동일한 작업을 수행하기 위해 정규식을 사용할 수도 있습니다. \D 문자(숫자 아님)는 빈 문자열로 대체될 수 있습니다. 예:

>>> import re
>>> s = "H3ll0 P30P13"
>>> re.sub("\D", "", s)
'303013'