【问题标题】:How to store number from string in python如何在python中存储字符串中的数字
【发布时间】:2012-01-21 02:47:52
【问题描述】:

我有这样的字符串:

string = "库存商品 "28031 (111111: Test product)" 添加成功。"

我需要从字符串中存储前 5 个数字(例如 "28031" )并将它们保存到另一个字符串中。

这是因为我是硒测试员,每次我创建新的库存商品时,他的前 5 个数字都不同。

感谢您的帮助

菲利普

【问题讨论】:

    标签: python string numbers store


    【解决方案1】:

    编辑: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 个数字,然后停止。

    【讨论】:

      【解决方案2】:

      在回答完之后,我留下了我的编辑,只是为了展示如何匹配 5 位数字

      import re
      re.search('\d{5}', string).group(0)
      

      【讨论】:

        【解决方案3】:
        m = re.search("\d+", string)
        print m.group(0)
        

        打印 28031

        它只选择第一组数字,无论长度如何(也会选择 2803)

        【讨论】:

        • 谢谢你,伙计。看起来很好 ! :-)
        【解决方案4】:

        首先我假设所有这些字符串都具有完全相同的格式。如果是这样,获取库存商品编号的最简单方法是:

        stocknumber = string.split()[3][1:]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-31
          • 2022-11-28
          • 1970-01-01
          • 2022-06-15
          相关资源
          最近更新 更多