本文例項總結了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) 中,不需要有序,切記!
例項擴充套件:
crazystring = 'dade142.!0142f[., ]ad'
# 只保留數字
new_crazy = filter(str.isdigit, crazystring)
print(''.join(list(new_crazy))) #輸出:1420142
# 只保留字母
new_crazy = filter(str.isalpha, crazystring)
print(''.join(list(new_crazy))) #睡出:dadefad
# 只保留字母和數字
new_crazy = filter(str.isalnum, crazystring)
print(''.join(list(new_crazy))) #輸出:dade1420142fad
# 如果想保留數字0-9和小數點'.' 則需要自定義函式
new_crazy = filter(lambda ch: ch in '0123456789.', crazystring)
print(''.join(list(new_crazy))) #輸出:142.0142.
上述**執行結果:
1420142 dadefad dade1420142fad 142.0142.
對陣列物件進行過濾
使用的是filter regexp 和test 來實現過濾 filter item,index,arr new regexp pattern,attributes pattern 是乙個字串,指定了正規表示式的模式或其他正規表示式或需要尋找的值。attributes 是乙個可選的字串,包含屬性 g ...
php對資料進行過濾輸出
為了避免跨站指令碼攻擊 xss等安全問題,yii框架對輸出到檢視層的資料提供了一些方法供我們使用,例如 html encode htmlpurifier process,研究了下yii框架的原始碼,將其抽取出來,作為乙個小組件,記起來,以後可以單獨使用 1 首先是 html encode 是使用ph...
flex datagrid點選列對數字進行排序
在要進行排序的列指定排序的方法 sortcomparefunction sortcompare 其中sortcompare是你要進行排序的方法 具體實現如下 按數值大小排序 public function sortcompare obj1 object,obj2 object int else if...