python 提取一段字符串中去數字
ss = “123ab45”
方法一:filter
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
str.filter:如果字符串只包含數字則返回 True 否則返回 False。
filter(str.isdigit, ss)
別處copy的filter的用法:
# one
>>> filter(str.isdigit, '123ab45')
'12345'
#two
def not_empty(s): return s and s.strip() filter(not_empty, ['A', '', 'B', None, 'C', ' '])
# 結果: ['A', 'B', 'C']
# 列表中的每個元素都會過一遍 pattern,返回的還是列表
方法二:正則表達式
s = re.findall("\d+",ss)[0] print s