【发布时间】:2012-10-24 13:22:19
【问题描述】:
我有一个字母数字代码,如下所示:
"PRODUCTNAME600COUPON50"
其中PRODUCTNAME 是一个长度不一致的变量
我希望能够将字符串的整数值提取到一个列表中——在本例中为[600, 50]。
我正在寻找一种巧妙的 Pythonic 方式来执行此操作 - 我从 this solution 开始查找字符串中第一个数字的索引,但在这种情况下不够。
【问题讨论】:
我有一个字母数字代码,如下所示:
"PRODUCTNAME600COUPON50"
其中PRODUCTNAME 是一个长度不一致的变量
我希望能够将字符串的整数值提取到一个列表中——在本例中为[600, 50]。
我正在寻找一种巧妙的 Pythonic 方式来执行此操作 - 我从 this solution 开始查找字符串中第一个数字的索引,但在这种情况下不够。
【问题讨论】:
使用以下正则表达式:
In [67]: strs="PRODUCTNAME600COUPON50"
In [68]: re.findall(r'\d+',strs)
Out[68]: ['600', '50']
获取整数:
In [69]: map(int,re.findall(r'\d+',strs))
Out[69]: [600, 50]
【讨论】: