2017-10-17 124 views
1

我想知道如何从字符串中获得并使用reg表达式所有值,直到逗号从结尾开始。见下面的例子,我想获得价值"CA 0.810"到一个变量:python正则表达式 - 从字符串中提取值

prue ="VA=-0.850,0.800;CA=-0.863,0.800;SP=-0.860,0.810;MO=-0.860,0.810;SUN=MO -0.850,CA 0.810" 

到目前为止,我有下面的代码:

test = re.findall('([0-9]+)$',prue) 
print test 

不过,我只得到以下的输出:

['810'] 

您能否告诉我如何将"CA 0.810"纳入test变量?

+0

用逗号分隔并得到最后一个项目。 –

+1

正则表达式的任何原因?为什么不只是'prue.rpartition(',')[2]'? –

+0

同意@JonClements正则表达式应该只是最后的手段。 –

回答

0

您可以使用split方法执行此操作。从文档中,它将:

返回字符串中的单词列表,使用sep作为分隔符字符串。

所以,如果你可以把你的string

prue = "VA=-0.850,0.800;CA=-0.863,0.800;SP=-0.860,0.810;MO=-0.860,0.810;SUN=MO -0.850,CA 0.810" 

,你可以这样做:

prue.split(",") 

这将返回stringssplitlistcommas

['VA=-0.850', '0.800;CA=-0.863', '0.800;SP=-0.860', '0.810;MO=-0.860', '0.810;SUN=MO -0.850', 'CA 0.810'] 

所以,如果你只是想最后item'CA 0.8101')成variable名为test,你可以只取最后从listelement通过indexing-1

test = prue.split(",")[-1] 

test现在是:'CA 0.810'

希望这会有所帮助!

相关问题