如何将带括号的字符串解析为数组数组?
How do I parse a string with brackets into array of arrays?
我收到一个已经包含方括号的字符串,需要将其解析为数组数组。另外,元素之间没有逗号。
我收到了类似于:
[[[a] b] c [d]]
并需要将其转换为:
[[['a'], 'b'], 'c', ['d']
我尝试用方括号和引号替换所有方括号,但这不起作用。例如:[[a] b]
变为 ['['a'] b]
我已经尝试过 JSON.parse 但我需要帮助做几件事才能奏效
- 我需要在所有正确的地方添加逗号
- 我需要将方括号内的值用引号引起来。
使用正则表达式在任何不包含 space 或方括号的序列两边加上引号,并将所有 space 替换为逗号。然后将其解析为 JSON.
let str = '[[[a] b] c [d]]';
let json = str.replace(/[^ \[\]]+/g, '"$&"').replace(/ +/g, ',');
console.log(json);
let arr = JSON.parse(json);
console.log(arr);
我收到一个已经包含方括号的字符串,需要将其解析为数组数组。另外,元素之间没有逗号。
我收到了类似于:
[[[a] b] c [d]]
并需要将其转换为:
[[['a'], 'b'], 'c', ['d']
我尝试用方括号和引号替换所有方括号,但这不起作用。例如:[[a] b]
变为 ['['a'] b]
我已经尝试过 JSON.parse 但我需要帮助做几件事才能奏效
- 我需要在所有正确的地方添加逗号
- 我需要将方括号内的值用引号引起来。
使用正则表达式在任何不包含 space 或方括号的序列两边加上引号,并将所有 space 替换为逗号。然后将其解析为 JSON.
let str = '[[[a] b] c [d]]';
let json = str.replace(/[^ \[\]]+/g, '"$&"').replace(/ +/g, ',');
console.log(json);
let arr = JSON.parse(json);
console.log(arr);