Python 是一種非常強大的編程語言,可以用于處理各種數(shù)據(jù)。然而有時候我們需要對數(shù)據(jù)進行處理,篩選出其中的數(shù)字,去掉其中的非數(shù)字字符。這時候就需要使用 Python 過濾非數(shù)字的方法。
str = 'a1b2c3d4e5' result = '' for i in str: if i.isdigit(): result += i print(result)
以上代碼中的 str 變量是一個字符串,我們需要將其中的數(shù)字篩選出來。使用 for 循環(huán)遍歷字符串中的每一個字符,通過 isdigit() 函數(shù)判斷該字符是否為數(shù)字,如果是則將該字符添加到結果字符串 result 中。
運行以上代碼,輸出結果為:
12345
我們發(fā)現(xiàn),經(jīng)過過濾處理后,只剩下原字符串中的數(shù)字了。
如果我們需要去掉字符串中的非數(shù)字字符,可以使用正則表達式來實現(xiàn):
import re str = 'a1b2c3d4e5' result = re.sub("\D", "", str) print(result)
以上代碼中使用 re.sub() 函數(shù),第一個參數(shù) "\D" 表示匹配非數(shù)字字符,第二個參數(shù) "" 則表示將匹配到的非數(shù)字字符替換成空格。運行以上代碼,輸出結果如下:
12345
我們此時的 result 變量仍然是包含數(shù)字字符的字符串,但其中的非數(shù)字字符已經(jīng)被成功去除了。