我可以使用JavaScript的split
将逗号分隔的项列表放在数组中:
var mystring = "a,b,c,d,e";
var myarray = mystring.split(",");
我想到的是有点复杂。我有这个字典式的字符串:
myvalue=0;othervalue=1;anothervalue=0;
如何将其拆分以使键最终位于一个数组中,并且值最终会出现在另一个数组中?
答案 0 :(得分:4)
这样的事情:
var str = "myvalue=0;othervalue=1;anothervalue=0;"
var keys = [], values = [];
str.replace(/([^=;]+)=([^;]*)/g, function (str, key, value) {
keys.push(key);
values.push(value);
});
// keys contains ["myvalue", "othervalue", "anothervalue"]
// values contains ["0", "1", "0"]
看一下这篇文章:
答案 1 :(得分:0)
我仍然使用字符串拆分,然后编写一个方法,该方法接收“variable = value”形式的字符串并在'='上拆分,返回带有该对的Map。
答案 2 :(得分:0)
拆分两次。先拆分';'获取一组键值对。然后你可以在每个键值对的'='上再次使用split来分别得到键和值。
答案 3 :(得分:0)
你只需要分开';'并循环并通过'='拆分。
var keys = new Array();
var values = new Array();
var str = 'myvalue=0;othervalue=1;anothervalue=0;';
var items = str.split(';');
for(var i=0;i<items.length;i++){
var spl = items[i].split('=');
keys.push(spl[0]);
values.push(spl[1]);
}
你需要考虑那个尾随';'虽然在字符串的末尾。每次在第一个数组的末尾都有一个空项。