python如何从变量中提取数字

时间:2014-12-02 16:41:00

标签: python variables integer

我想知道在python中是否可以从变量中提取某些整数并将其保存为单独的变量供以后使用。

例如:

str1 = "numberone=1,numbertwo=2,numberthree=3"

newnum1 = [find first integer from str1]

newnum2 = [find second integer from str1]

answer = newnum1 * newnum2

print(answer)

3 个答案:

答案 0 :(得分:1)

尝试findall

num1, num2, num3 = re.findall(r'\d+', 'numberone=1,'
                                      'numbertwo=2,'
                                      'numberthree=3')

现在num1包含字符串 1,num2包含2,num3包含3。

如果你只想要两个数字(感谢@dawg),你可以简单地使用切片运算符:

num1, num2=re.findall(r'\d+', the_str)[0:2]

答案 1 :(得分:1)

您可以选择:

使用str.split()

>>> [int(i.split('=')[1]) for i in str1.split(',')]
[1, 2, 3]

使用正则表达式:

>>> map(int,re.findall(r'\d',str1))
[1, 2, 3]

答案 2 :(得分:0)

(?<==)\d+(?=,|$)

试试这个。看看演示。

http://regex101.com/r/yR3mM3/19

import re
p = re.compile(ur'(?<==)\d+(?=,|$)', re.MULTILINE | re.IGNORECASE)
test_str = u"numberone=1,numbertwo=2,numberthree=3"

re.findall(p, test_str)