python 코드 를 기반 으로 간단 한 숫자 걸 러 내 는 방법

숫자,한자,알파벳 이 들 어 있 는 목록 에서 숫자 만 들 어 있 는 문 자 를 걸 러 내 려 면 정규 표현 식 으로 완성 할 수 있 지만 너무 번 거 롭 기 때문에 비교적 교묘 한 방식 을 사용 할 수 있 습 니 다.
1.정규 표현 식 해결

import re


L = [u'  ', 'xiaohong', '12', 'adf12', '14']

for i in range(len(L)):
 if re.findall(r'^[^\d]\w+',L[i]):
  print re.findall(r'^\w+$',L[i])[0]

 elif isinstance(L[i],unicode):
  print L[i]
2.정규 표현 식 을 교묘 하 게 피한다.

L = [ 'xiaohong', '12', 'adf12', '14',u'  ']

for x in L:
 try:
  int(x)
 except:
  print x
3.string 내장 방법 사용

L = [ 'xiaohong', '12', 'adf12', '14',u'  ']

#  python3         string.isnumeric()  
for x in L:
 if not x.isdigit():
  print x
4.양 끝 숫자 제거
양 끝 에 숫자 가 들 어 있 을 수 있 는 문자열 의 숫자 만 제거 하면 내 장 된 strip 을 사용 할 수 있 습 니 다.방식 은 다음 과 같 습 니 다.

In [24]: import string

In [25]: astring = '12313213215just for 32 test 1306436'

In [26]: astring.strip(string.digits)
Out[26]: 'just for 32 test '

In [27]: astring.rstrip(string.digits)
Out[27]: '12313213215just for 32 test '

In [30]: astring.lstrip(string.digits)
Out[30]: 'just for 32 test 1306436'


#  
In [31]: astring
Out[31]: '12313213215just for 32 test 1306436'

In [32]: astring.strip('0123456')
Out[32]: 'just for 32 test '
.strip([char])의 char 는 시간 을 정 하면 set(char)에 만족 하지 않 을 때 까지 양쪽 문 자 를 캡 처 합 니 다.질서 가 필요 없습니다.기억 하 세 요!
다음은 각각 python 2 와 python 3 의 string 방법 입 니 다.

이상 의 python 코드 를 바탕 으로 간단 한 숫자 필 터 를 실현 하 는 방법 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기