【发布时间】:2012-01-21 02:47:52
【问题描述】:
我有这样的字符串:
string = "库存商品 "28031 (111111: Test product)" 添加成功。"
我需要从字符串中存储前 5 个数字(例如 "28031" )并将它们保存到另一个字符串中。
这是因为我是硒测试员,每次我创建新的库存商品时,他的前 5 个数字都不同。
感谢您的帮助
菲利普
【问题讨论】:
标签: python string numbers store
我有这样的字符串:
string = "库存商品 "28031 (111111: Test product)" 添加成功。"
我需要从字符串中存储前 5 个数字(例如 "28031" )并将它们保存到另一个字符串中。
这是因为我是硒测试员,每次我创建新的库存商品时,他的前 5 个数字都不同。
感谢您的帮助
菲利普
【问题讨论】:
标签: python string numbers store
编辑:neurino 解决方案是最聪明的!使用它
编辑:sehe 解决方案既聪明又完美,您可以添加此行以仅获取前 5 个数字:
print m.group(0)[0:5]
使用[0:5]表示从0到5取字符串元素(前5个元素)
使用str.isdigit 内置函数
string = "The stock item 28031 "
Digitstring=''
for i in string:
if i.isdigit():
Digitstring+=i
print Digitstring
输出:
28031
你可以数到你需要的前 x 个数字,然后停止。
【讨论】:
在回答完之后,我留下了我的编辑,只是为了展示如何匹配 5 位数字
import re
re.search('\d{5}', string).group(0)
【讨论】:
m = re.search("\d+", string)
print m.group(0)
打印 28031
它只选择第一组数字,无论长度如何(也会选择 2803)
【讨论】:
首先我假设所有这些字符串都具有完全相同的格式。如果是这样,获取库存商品编号的最简单方法是:
stocknumber = string.split()[3][1:]
【讨论】: