鱼C论坛

 找回密码
 立即注册
查看: 17785|回复: 12

[技术交流] 【Python】从字符串中提取数字

[复制链接]
发表于 2015-1-1 23:24:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ~风介~ 于 2015-1-1 23:27 编辑

原文出处:从字符串中提取数字

我会提取所有字符串中包含的数字。这是更适合为宗旨,正则表达式或isdigit()方法?
例如:line = "hello 12 hi 89"
结果:[12, 89]

1. 如果你只是想只提取正整数,请尝试以下操作:
>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in str.split() if s.isdigit()]
[23, 11, 2]

我认为,这比正则表达式例子三reseasons更好。首先,你并不需要另一个模块,其次它更可读你不需要解析正则表达式迷你lanaguage,第三它是更快(而且可能更Python):



2. 我是一个正则表达式:
>>> import re
>>> re.findall(r'\d+', 'hello 42 I\'m a 32 string 30')
['42', '32', '30']

如果只想用字边界(空格,句号,逗号)分隔的数:
>>> re.findall(r'\b\d+\b', 'he33llo 42 I\'m a 32 string 30')
['42', '32', '30']

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-2 00:21:50 | 显示全部楼层
正在学习正则表达式,只有多多练习啊,不然又要忘记了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-7 15:28:33 | 显示全部楼层
支持ing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-20 11:54:52 | 显示全部楼层
那如果是其他近卫的呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-20 15:16:42 | 显示全部楼层
正则表达式真的好省事儿~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-28 10:31:59 | 显示全部楼层
学习学习 ,了解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-1-29 16:43:11 | 显示全部楼层
正则表达式很容易忘
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-2-4 16:43:06 | 显示全部楼层
最头疼正则表达式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-4 18:43:36 | 显示全部楼层
正在学习正则表达式,太难了~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-14 20:03:21 | 显示全部楼层
编程得常用,多看多动手多思考。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-25 15:43:05 | 显示全部楼层
谢谢分享,复习了一下前几天学的正则,不用就忘了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-28 08:32:41 | 显示全部楼层
继续加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-25 16:57:50 | 显示全部楼层
正则表达式是个神奇的东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-5 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表