Разбить строку в массив JS
Есть строка:
const str = 'test1 test2="option1 option2" blabla="option1"'
Подскажите пожалуйста, как можно разбить строку, что бы в итоге получился массив
const arr = ['test1', 'test2="option1 option2"', 'blabla="option1"']
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
Можно воспользоваться регулярным выражением, /[^\s"']+("([^"]*)"|'([^']*)')?/
Выбираем все последовательности кроме пробелов и кавычек, после которых могут идти последовательности в кавычках
const str = 'test1 test2="option1 option2" blabla="option1"'
const result = 'test1 test2="option1 option2" blabla="option1"'.match(/[^\s"']+("([^"]*)"|'([^']*)')?/g);
console.log(result);
на основе ответа @Jan Goyvaerts