У меня есть список, разделенный запятыми, который может содержать пустые значения и может содержать значения, заключенные в двойные кавычки, которые я не хочу разделять. Мне нужно создать массив с использованием этого разбиения, чтобы позже я мог зациклить его.
Я попытался использовать какое-то регулярное выражение соответствия, которое работает, за исключением того, что оно пропускает все нулевые значения, которые у меня есть. Я пытался использовать регулярные выражения, но не думаю, что мой синтаксис работает должным образом, так как он возвращает массив длиной 1.
. Этот код соответствия наиболее точно показывает, чтоЯ собираюсь
var s = 'To, Infinity, "And, Beyond",,Buzz Lightyear';
var array = s.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g);
Это синтаксис разбиения, который возвращает только длину массива 1
var s = 'To, Infinity, "And, Beyond",,Buzz Lightyear';
var array = s.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
С функцией соответствия я ожидаю, что результат будет:
To
Infinity
And, Beyond
Buzz Lightyear
Однако мой вывод на самом деле
To
Infinity
And, Beyond
Buzz Lightyear