我收到一个已经包含括号的字符串,需要将其解析为数组数组。此外,元素之间没有逗号。
我收到类似的内容:
[[[a] b] c [d]]
并且需要将其转换为:
[[['a'], 'b'], 'c', ['d']
我尝试用括号和引号替换所有括号,但这不起作用。例如:[[a] b]
变为 ['['a'] b]
我已经尝试过 JSON.parse,但在起作用之前我需要帮助做一些事情
- 我需要在所有正确的位置添加逗号
- 我需要将括号内的值括在引号中。
最佳答案
使用正则表达式将引号括在不包含空格或方括号的任何序列周围,并用逗号替换所有空格。然后将其解析为 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);
关于javascript - 如何将带括号的字符串解析为数组数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56499582/