2012-07-01 3 views
1

"Q 000 1111 00001 0001 00 // SOME_STRING"과 같은 문장이 있습니다. 파이썬의리스트에서 Q와 // SOME_STRING을 제외하고 추가하고 싶었습니다. 결과리스트에 000 1111 00001 0001 00이 포함되어 있습니다. 어떻게해야합니까?파이썬에서리스트에 숫자 추가하기

답변

2
import re 

data = "Q 000 1111 00001 0001 00 //SOME_STRING" 

digits = re.findall(r"\b\d+\b",data) 

테스트

>>> re.findall(r"\b\d+\b","Q 000 1111 00001 0001 00 //SOME_STRING234zzzz") 
['000', '1111', '00001', '0001', '00'] 
+0

무슨 \ b의 필요성? – Shubham

+0

결과는 단어 경계를 의미하는 \ b없이 "[ '000', '1111', '00001', '0001', '00', '234']"가됩니다. 문자열에 숫자가 포함되지 않으면 필요하지 않을 수도 있습니다. – YOU

1
import re 

def filter_digits(bar): 
    return re.search("^\d+$", bar) 

foo = "Q 000 1111 00001 0001 00 //SOME_STRING" 
foo = foo.split(' ') 
foo = filter(filter_digits, foo)