首页 > 解决方案 > 拆分后如何从数组中删除两个连续的双引号

问题描述

我有一个要求,我将从用户那里获得输入。他可以进入

"features1,feature2",feature3,"feature4" 

像这样的东西。我正在使用这个

let arr: any = message.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/)

拆分字符串,我得到的结果就像

[""feature1,feature2"","feature3",""feature4""] 

但我想要这样的结果

["feature1,feature2","feature3","feature4"]

标签: javascriptregexangular

解决方案


我不认为您要实现的目标只能使用split函数。

拆分后,循环错误并替换"为 ``(空)。

const message = `"features1,feature2",feature3,"feature4"`;

let arr = message.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);

arr = arr.map(el=>el.replace(/"/g,''));

console.log(arr);


推荐阅读