在 Javascript 中,我如何将此字符串拆分[test,string,0,5,bob,0,1],[age,number,1,100,20,0,1], [male,const,0,0,yes,200,1]为一个子字符串数组,每个子字符串由[]以下各项限定:
[test,string,0,5,bob,0,1], [age,number,1,100,20,0,1],[male,const,0,0,yes,200,1]
语境:
我需要使用 Node JS 将配置文件中的行处理为数组。一行是以下形式的字符串:
someID,[test,string,0,5,bob,0,1],[age,number,1,100,20,0,1],[male,const,0,0,yes,200,1]
这需要最终作为数组中的一个元素:
var config = [
// One line from the config file:
['someID', ['test','string',0,5,'bob',0,1],[12,'number',1,100,20,0,1],['male','const',0,0,'yes',200,1]],
// more elements each representing a line...
];
我可以使用上面的“someID”从配置行中获取第一项,line.split(',',1)[0]但是如何将字符串的其余部分分成由[和绑定的子元素] ?
我试过 JS string.match() :
var elements = str.match(/\[(.*)\]/g);
但我得到了一个字符串
"[test,string,0,5,bob,0,1],[age,number,1,100,20,0,1], [male,const,0,0,yes,200,1]"
(我意识到这是因为它只与第一个[和最后一个匹配],而不处理其间的所有内容)
而不是具有单独字符串的数组:
"[test,string,0,5,bob,0,1]",
"[age,number,1,100,20,0,1]",
"[male,const,0,0,yes,200,1]",
JS .split(',') 显然将每个逗号都考虑在内,并在所有逗号上进行拆分,而不仅仅是 .split(',') 之外的逗号[]。我认为解决方案将是正则表达式?谢谢。
慕的地6264312
绝地无双
随时随地看视频慕课网APP
相关分类