我正在使用rails项目上的ruby,我有一个字符串
cmd = "\"//div/table/tbody/tr/td/label[text()=\"Select Year\"]/preceding-sibling::*[1]\" = \"2014\""
我希望获得这样的键/值:
key: "//div/table/tbody/tr/td/label[text()=\"Select Year\"]/preceding-sibling::*[1]"
value: "2014"
密钥是xpath。我使用的是cmd.split(" ="),这是不正确的。我想我可以使用正则表达式解析字符串,但不知道如何。请指教。
提前谢谢!
答案 0 :(得分:0)
使用split会对你有用。
2.1.1 :006 > cmd = '"//div/table/tbody/tr/td/label[text()=\"Select Year\"]/preceding-sibling::*[1]" = "2014"'
=> "\"//div/table/tbody/tr/td/label[text()=\\\"Select Year\\\"]/preceding-sibling::*[1]\" = \"2014\""
2.1.1 :007 > cmd.split(" = ")[0]
=> "\"//div/table/tbody/tr/td/label[text()=\\\"Select Year\\\"]/preceding-sibling::*[1]\""
2.1.1 :008 > cmd.split(" = ")[1]
=> "\"2014\""
将第一个保存为键,将第二个保存为值。
答案 1 :(得分:0)
现在,我得到了解决方案。见下文: 我原来的字符串:
a = "\"//div/table/tbody/tr/td/label[text()=\\\"Select Year\\\"]/preceding-sibling::*[1]\" = \"2014\""
我正在使用:
a.match('[\w\W]*\"[\s]*=')[0]
获取字符串:
"\"//div/table/tbody/tr/td/label[text()=\\\"Select Year\\\"]/preceding-sibling::*[1]\" ="
然后我可以使用substring来获取其余的字符串。