我想知道在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)
答案 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)