#javascript
#javascript
Вопрос:
Я пытаюсь разделить 2-ю и 3-ю части строки.
Вот содержимое строки:
var message = 'save ['content1', 'content2'] filename';
Чтобы разделить это, я использую:
const myarr = message.split(" ")[1];
const filename = message.split(" ")[2];
Для myarr
я получаю просто ['content
и для имени файла я получаю фактически весь массив.
Что я здесь делаю не так?
Ответ №1:
Что делать с регулярным выражением /([(.*?)])/g
https://regex101.com/r/i2Rhni/2/
Обновлено
Для имени файла используйте split
вместо match.И используйте trim()
удаление нежелательного пустого пространства
var message = "save ['content1', 'content2'] filename";
str =message.split(/([(.*?)])/g).map(a=> a.trim());
console.log(str[1])
//parse string to array using eval
console.log(eval(str[1]))
console.log(str.pop())
Комментарии:
1. Что насчет имени файла?
Ответ №2:
Используйте это регулярное выражение для разделения строки на две части:
var message = "save ['content1', 'content2'] filename";
var matches = message.match(/([[^[]] ?])s*(. )$/);
const myarr = matches[1];
const filename = matches[2];
Ответ №3:
Просто удалите пробел внутри массива между элементами
var message = 'save ["content1","content2"] filename';
const myarr = message.split(" ")[1];
const filename = message.split(" ")[2];
console.log(myarr)
console.log(filename)
Комментарии:
1. Пожалуйста, обратите внимание на
space
между"content1",
и"content2"