为了账号安全,请及时绑定邮箱和手机立即绑定

需要拆分字符串逗号分隔,包括圆括号

需要拆分字符串逗号分隔,包括圆括号

当年话下 2022-07-15 09:44:09
var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";我希望字符串采用类似数组的形式[39,"2020-04-24","2020-04-24","(2,3,4,5)","(2,3,4)","(36,43,79)", -1 , 50000 , 0 ];
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

你可以用正则表达式做一些有趣的事情,但最简单的事情是把它变成 JSON.parse 可以处理的格式。理想情况下,无论生成什么,它都会使其成为正确的 JSON,但如果无法更改,您可以将其更改为这样。


var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";

var result = JSON.parse('[' + data.replace(/'/g, '"') + ']')

console.log(result)


在某些极端情况下这会失败,但如果数据总是看起来像您的示例,它将起作用。


JSON.parse 之前的老派方法是使用 new Function (),但由于它正在评估代码,因此存在安全问题。


var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";

var result = (new Function('return [' + data + ']')())

console.log(result)


查看完整回答
反对 回复 2022-07-15
?
互换的青春

TA贡献1797条经验 获得超6个赞

尝试这个,(?=(?:[^\(\)]*\([^\(\)]*\))*[^\(\)]*$)

现场演示


查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信