[转]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.’

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

posted @ 2009-11-20 21:42  WenLe  阅读(11434)  评论(0编辑  收藏  举报