问题
在 JavaScript 中,我可以在字符串上使用哪种正则表达式模式或方法String.prototype.split()来在特定字符之间重复拆分?
例子
如果我有下面的字符串,
'a="https://google.com/" b="Johnny Bravo" c="1" d="2" charset="z"'
...我想在每个空格和双引号之间拆分,然后将它们存储到一个数组中,如下所示
['a="https://google.com/"', 'b="Johnny Bravo"', 'c="1"', 'd="2"', 'charset="z"']
试图
我在下面有一个复杂的想法。我必须搜索每个术语并将它们添加到数组中。但是,只有当我提前知道关键值时它才有效。
// if I do findAttribute(ABOVE_STRING, 'a'),
// I'll get 'a="https://google.com/"'
// then I can add it to an array
findAttribute(content, target) {
if(!content || content === '') return {};
let ind_val = content.indexOf("\"", ind_attr+`${target}+"=\""`.length);
return content.slice(ind_attr,ind_val+1);
}
如果我尝试使用下面的方法分割每个空间
STRING.split(/\s+/g)
它将在字符串的错误部分进行分割
['a="https://google.com/"', 'b="Johnny', 'Bravo', 'c="1"', 'd="2"', 'charset="z"']
绝地无双
达令说
万千封印
相关分类