Если есть строка в следующем формате:Как разобрать строку в массив
$parsethis = 'string[1][2]';
Как разобрать это так мой результат является массивом, как:
$parsed = ['string', 1 , 2]
Если есть строка в следующем формате:Как разобрать строку в массив
$parsethis = 'string[1][2]';
Как разобрать это так мой результат является массивом, как:
$parsed = ['string', 1 , 2]
Я думаю REGEX это путь здесь, в compiination с методом Массивы разделения.
var array = $parsed.split(/\]\[|\[|\]/);
console.log(array) results in
Array [ "string", "1", "2", "" ]
iam не очень хорошо подходит для использования регулярных выражений, но, возможно, это ведет вас в правильном направлении.
Вы можете сделать что-то вроде этого:
var $parsethis = 'string[1][2]';
var arr = $parsethis.replace(/\]/g,'').split('[');
//arr = ["string", "1", "2"]
alert(arr); //alerts "string,1,2"
arr
массив будет все строки, хотя. Исходя из вопроса, я не знаю, как вы будете использовать результаты.
Вы можете получить массив из этой строки с помощью str.split(), а затем очистить его с помощью str.replace().
var parsed = parsethis.split('[');
console.log(parsed); // ["string", "1]", "2]"]
for(var i = 0; i++; i<parsed.length){
parsed[i] = parsed[i].replace(']','');
}
console.log(parsed); // ["string", "1", "2"]
Ваш ожидаемый выход недействителен. Объекты имеют пары ключ/значение. Вам нужен массив? '['string', 1, 2]'? – Andy
В JavaScript нет сильной типизации. Тип элементов массива всегда является объектом. Или, 'object []' например, в C#. Вы все же можете индивидуально получать типы элементов, но само объявление массива не имеет сильного типа. –
Вы уверены, что отметили правильный язык? – thefourtheye