Я пытаюсь извлечь строку, похожую на
var str = "[\"/home/dev/servers\", \"e334ffssfds245fsdff2f\"]"
Желаемый результат
a = "/home/dev/servers"
b = "e334ffssfds245fsdff2f"
Всегда ли так?
Так почему это не просто массив для начала? Проблема здесь в том, что строка ошибочна с самого начала, все, что было перечеркнуто, нужно удвоить [\"\\home\\dev\\servers\",...
Так будет ли формат всегда одинаковым? а вы пробовали str.split(',')
?
@Moad Ennagi этого нет в моей системе. Вы уверены?
ОП изменил строку, ты прав
Использование JSON.parse()
let [a, b] = JSON.parse("[\"/home/dev/servers\", \"e334ffssfds245fsdff2f\"]")
console.info(a)
console.info(b)
Следующее будет работать нормально для вас.
var str = "[\"/home/dev/servers\", \"e334ffssfds245fsdff2f\"]";
var foo = JSON.parse(str); //Parse the JSON into an object.
var a = foo[0];
var b = foo[1];
Я только что изменил код, не могли бы вы проверить его еще раз
Это не приведет к ожидаемым результатам OP.
Обновлен ответ, чтобы отразить изменения OP.
Я получаю ** Аргумент типа «_Blob» не может быть назначен параметру типа «строка». Тип «Буфер» не может быть назначен типу «строка». **
@BhargavTeja эта ошибка не связана с этим вопросом, или код, создающий эту ошибку, не был опубликован в вашем вопросе.
Вот ты где:
const str = "[\"/home/dev/servers\", \"e334ffssfds245fsdff2f\"]";
const object = JSON.parse(str);
const a = object[0];
const b = object[1];
console.info(a);
console.info(b);
Я получаю Аргумент типа «_Blob» нельзя присвоить параметру типа «строка». Тип «Буфер» не может быть назначен типу «строка».
Неверный
str
."
должно быть после]