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.'

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

请参考StackOverflow里的讨论.

以下文章也许和本文有点关系:

那年今天:

1条留言 跳到评论框

  1. 发表于September 6, 2009 9:49 AM | 永久链接

    学习了,我才接触到Python

    [回复这条留言]

1 条Trackback

  1. 来自 MicroRNA研究简史 | sci123|生信博客 September 26, 2009 at 12:10 AM

    [...] 5, 2009 6:58 PM, 分类在programming, 标签为python, string. 欢迎收藏本文的永久链接, [...]

发表新留言

*
*