python正则表达式 - 从字符串中提取值
问题描述:
我想知道如何从字符串中获得并使用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
变量?
答
您可以使用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(",")
这将返回strings
split
的list
由commas
:
['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
,你可以只取最后从list
element
通过indexing
与-1
:
test = prue.split(",")[-1]
test
现在是:'CA 0.810'
希望这会有所帮助!
用逗号分隔并得到最后一个项目。 –
正则表达式的任何原因?为什么不只是'prue.rpartition(',')[2]'? –
同意@JonClements正则表达式应该只是最后的手段。 –