首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否使用Python从字符串中删除除数字以外的字符?

是否使用Python从字符串中删除除数字以外的字符?
EN

Stack Overflow用户
提问于 2009-09-20 20:14:18
回答 14查看 240.2K关注 0票数 162

如何从字符串中删除除数字以外的所有字符?

EN

回答 14

Stack Overflow用户

发布于 2009-09-20 12:18:49

使用re.sub,如下所示:

代码语言:javascript
复制
>>> import re
>>> re.sub('\D', '', 'aas30dsa20')
'3020'

\D匹配任何非数字字符,因此,上面的代码实质上是用空字符串替换每个非数字字符。

或者您可以使用filter,如下所示(在Python2中):

代码语言:javascript
复制
>>> filter(str.isdigit, 'aas30dsa20')
'3020'

由于在Python3中,filter返回的是迭代器而不是list,因此您可以使用以下代码:

代码语言:javascript
复制
>>> ''.join(filter(str.isdigit, 'aas30dsa20'))
'3020'
票数 249
EN

Stack Overflow用户

发布于 2009-09-20 12:24:18

代码语言:javascript
复制
s=''.join(i for i in s if i.isdigit())

另一个生成器变体。

票数 69
EN

Stack Overflow用户

发布于 2009-09-20 12:24:05

您可以使用filter:

代码语言:javascript
复制
filter(lambda x: x.isdigit(), "dasdasd2313dsa")

在python3.0上,你必须加入这个(有点难看:( ))

代码语言:javascript
复制
''.join(filter(lambda x: x.isdigit(), "dasdasd2313dsa"))
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1450897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档