|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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']
|
|