我正在学习Python字符串操作,并尝试将分隔文本转换为变量。在
即"On Tap: 20 | Bottles: 957 | Cans: 139"
这个字符串应该为Tap赋值20,为瓶子赋值957,为罐子赋值139。此字符串不是固定的,可能会变化(例如3个值或0,也可以互换水龙头、瓶子或罐子的位置)。在
到目前为止,我已经开发了这个:import re
strEx = "On Tap: 20 | Bottles: 957 | Cans: 139"
barServingText = strEx.split('|')
print(barServingText)
for i in barServingText:
print (i)
if i.find("Bottles"):
print("Found Bottles")
Bottles = re.sub('[^0-9]*','',i)
print(Bottles)
elif i.find("Cans"):
print("Found Cans")
Cans = re.sub('[^0-9]*','',i)
print(Cans)
elif i.find("Tap"):
print("Found Tap")
Tap = re.sub('[^0-9]*','',i)
print(Tap)
然而,它并没有按照我的期望工作,而且每次都会重新分配瓶子的价值。在
输出:
^{pr2}$
我已经包含了许多print语句来调试代码。只是为了给变量赋值。在