python从字符串中提取数字_filter

枫铃3年前 (2021-07-11)Python302
my_str = '123and456'

number = filter(str.isdigit,  my_str )

# number = 123456

使用正则表达式:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import re
>>> re.findall(r'\d+', 'hello 42 I\'m a 32 string 30')
['42', '32', '30']

这也将匹配42 bla42bla。如果您只想要按字边界(空格,句号,逗号)分隔的数字,则可以使用\ b:

>>> re.findall(r'\b\d+\b', 'he33llo 42 I\'m a 32 string 30')
['42', '32', '30']

最终得到一个数字列表而不是字符串列表:

>>> [int(s) for s in re.findall(r'\b\d+\b', 'he33llo 42 I\'m a 32 string 30')]
[42, 32, 30]

相关文章

python中break、continue 、exit() 、pass终止循环的区别

python中break、continue 、exit() 、pass终止循环的区别

python中break、continue 、exit() 、pass区分 1、break:跳出循环,不再执行 Python break语句...

Python中的eval,exec以及其相关函数

1. eval函数 函数的作用: 计算指定表达式的值。也就是说它要执行的Python代码只能是单个运算表达式(注意eval不支...

scrapy爬取某招聘网手机APP发布信息

scrapy爬取某招聘网手机APP发布信息

1 引言 ​ 过段时间要开始找新工作了,爬取一些岗位信息来分析一下吧。目前主流的招聘网站包括前程无忧、智联、BOSS直聘、拉勾等等。有段时间时...

urllib库添加headers的一般方法

对于请求一些网站,我们需要加上请求头才可以完成网页的抓取,不然会得到一些错误,无法返回抓取的网页。下面,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。