I have the following array:
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
How can I convert it to an array like this:
var array = ['Daniel','Alguien','2009',2014];
Allan Kimmer Jensen
4,4192 gold badges35 silver badges54 bronze badges
2 Answers 2
You can do it this way:
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
var array = mystr.match(/\[.+?\]/g).map(function(value){ // searches for values in []
return value.replace(/[\[\]]/g,""); // removes []
});
answered May 4, 2014 at 6:31
Amit Joki
59.4k7 gold badges80 silver badges97 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
user3288852
Hi, thanks for your answer. Your first piece of code works perfectly. The new solution doesn´t seem to work, Fiddle: jsfiddle.net/wx4Lm
Try to use following code , as you can see the string is split by comma and then using regular expressions the necessary part has been pushed to new array
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
var array = mystr.split(",");
re = /\[(.*)\]/;
var newArray = [];
for (var i = 0; i < array.length; i++) {
newArray.push(array[i].match(re)[1]);
}
newArray = ['Daniel', 'Alguien', '2009', 2014];
Allan Kimmer Jensen
4,4192 gold badges35 silver badges54 bronze badges
answered May 4, 2014 at 6:43
sshet
1,1521 gold badge6 silver badges18 bronze badges
Comments
lang-js
split("-")and then regex out the value with regex