javascript - 如何将带括号的字符串解析为数组数组?

标签 javascript node.js regex replace string-parsing

我收到一个已经包含括号的字符串,需要将其解析为数组数组。此外,元素之间没有逗号。

我收到类似的内容:

[[[a] b] c [d]]

并且需要将其转换为:

[[['a'], 'b'], 'c', ['d']

我尝试用括号和引号替换所有括号,但这不起作用。例如:[[a] b] 变为 ['['a'] b]

我已经尝试过 JSON.parse,但在起作用之前我需要帮助做一些事情

  1. 我需要在所有正确的位置添加逗号
  2. 我需要将括号内的值括在引号中。

最佳答案

使用正则表达式将引号括在不包含空格或方括号的任何序列周围,并用逗号替换所有空格。然后将其解析为 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/

相关文章:

java - 查找包含在定界符中的字符串部分

javascript - JS Express 连接到 mongoose 数据库

linux - npm install -Error/npm/optimist/0.3.7' - Linux Mint

JavaScript 日期格式忽略时区

javascript - moment.js javascript 日期对象

.net - 匹配短语的正则表达式,接受最少的字符

javascript - 创建具有数组索引的函数

javascript - 正确设置父 div 和子 div 的百分比高度

javascript - 在节点和浏览器中加载单个 javascript 模块

java - 从具有结束值和非结束值的字符串中查找数字