以简单的方式从python字符串中提取数字

发布于 2021-01-29 18:44:08

例如,我有一个存储数字和单位的字符串

x= '$120'
y = ' 90 Degrees F'
banana = '200 kgm'
orange = '300 gm'
total_weight = banana + orange/1000

例如,我想添加权重

total_weight  = 200 + 300/1000

谢谢!

我试图提取数字只是为了对它们进行一些操作……最简单的方法是什么?我只处理这两种格式,即数字位于字符串的开头或结尾。

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    从字符串中提取数字的最简单方法是使用正则表达式和findall

    >>> import re
    >>> s = '300 gm'
    >>> re.findall('\d+', s)
    ['300']
    >>> s = '300 gm 200 kgm some more stuff a number: 439843'
    >>> re.findall('\d+', s)
    ['300', '200', '439843']
    

    可能您需要更复杂的东西,但这是一个很好的第一步。

    请注意,您仍然必须调用int结果以获取正确的数字类型(而不是另一个字符串):

    >>> map(int, re.findall('\d+', s))
    [300, 200, 439843]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看