python 过滤字母、标点等 保留数字

crazystring = ‘dade142.;!0142f[.,]ad’

只保留数字 >>> filter(str.isdigit, crazystring) ‘1420142’

只保留字母 >>> filter(str.isalpha, crazystring) ‘dadefad’

只保留字母和数字 >>> filter(str.isalnum, crazystring) ‘dade1420142fad’

如果想保留数字0-9和小数点’.’ 则需要自定义函数

filter(lambda ch: ch in ‘0123456789.’, crazystring) ‘142.0142.’

或者使用正则表达式或循环

http://stackoverflow.com/questions/947776/strip-all-non-numeric-characters-except-for-from-a-string-in-python

posted @ 2016-11-14 17:28  alisonzhu  阅读(8966)  评论(0编辑  收藏  举报