У меня есть следующий массив:Как преобразовать строку в массив?
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
Как я могу преобразовать его в массив так:
var array = ['Daniel','Alguien','2009',2014];
У меня есть следующий массив:Как преобразовать строку в массив?
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
Как я могу преобразовать его в массив так:
var array = ['Daniel','Alguien','2009',2014];
Вы можете сделать это следующим образом:
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 []
});
@RobG, да. Отредактировано –
Привет, спасибо за ваш ответ. Ваша первая часть кода работает отлично. Новое решение не работает, ** Fiddle: ** http://jsfiddle.net/wx4Lm/ – user3288852
Попробуйте использовать следующий код, так как вы можете видеть, что строка разделяется запятой, а затем с использованием регулярных выражений необходимая часть была перенесена в новый массив
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];
Разделить его на массив с помощью 'split (" - ")', а затем повторно вывести значение с помощью регулярного выражения –
возможного дубликата [Ссылка - что это регулярное выражение означает?] (Http://stackoverflow.com/ Вопросы/22937618/reference-what-do-this-regex-mean) – RobG
Дубликат [* Regex, чтобы получить строку между фигурными фигурными скобками "{Я хочу, что между фигурными фигурными скобками}" *) (http://stackoverflow.com/ вопросы/413071/regex-to-get-string-between-curly-braces-i-want-whats-between-the-curly-brace) – RobG