我有一个完整的字符串,包含这样的东西[(data1.1)(data1.2)] [(data2.1)(data2.1)]
我读过你可以用匹配功能和正则表达式做一些聪明的事情。我想要从括号中加载数据的两个数组。我到底怎么做?请以我的字符串为例。
答案 0 :(得分:1)
我想出了这个可恶的:
var array = s.replace(/^\[|\]$/g,'').split('][').map(function(a){
return a.replace(/^\(|\)$/g,'').split(')(')
});
此外,如果您故意保存或传输此类数据,那么您应该真正了解JSON或正确的数据库设计。
答案 1 :(得分:0)
我不完全确定你追求的是什么,但我假设这是
var what = '[(data1.1)(data1.2)][(data2.1)(data2.2)]',
have = [],
you = [],
tried = /\[\(([^)]*)\)\(([^)]*)\)\]/g;
what.replace(tried, function (use, brain, forthis) {
you.push((have.push(brain), forthis));
});
console.log(have, you);
// ["data1.1", "data2.1"] ["data1.2", "data2.2"]