我有以下字符串:
"paramFoo={12}, paramBar={1}, paramFooBar={2713}"
现在,我需要获得这3个参数的值。有没有办法在JavaScript / jQuery和/或AngularJS中做到这一点?
我只能想到:
我敢肯定,必须有更清洁的方法来做到这一点。
非常感谢!
答案 0 :(得分:4)
只需使用正则表达式!
str.match(/\d+/g)
会为您提供一个[12,1,2714]
的数组。
如果你有数字以外的东西,正则表达式会更复杂。
答案 1 :(得分:2)
我会做这样的事情:
function parse(s) {
var re = /^([a-zA-Z]+)=\{([0-9]+)\}(?:\,\s*(.*))?$/, parts, res = {};
while (s && (parts = re.exec(s))) {
res[parts[1]] = parseInt(parts[2]);
s = parts[3];
}
return res;
}