例子:
A,b,c,”d1,d2",e
.....
....
4条回答 默认 最新
- CSDN专家-showbo 2021-08-06 12:06关注
先分割成行,列的话正则检查下是否存在引号,单双引号扩起的内容,先提取出来用占位符替换后再split,最后替换下占位符
代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~
var s = `A,b,c,"d1,d2",e A,b,c,d1d2,e A,b,c,'d1,d2,d3,e4',e`; var arr = s.split('\n'); arr.forEach((item, index) => { var re = /('|")([^'"]+)\1/g, kv = {}, groupIndex = -1, key; item = item.replace(re, function ($0, $1, $2) { groupIndex++; key = '__group' + groupIndex + '__';//占位符 kv[key] = $2; return key }); arr[index] = item.split(','); //有引号的组,需要遍历一次替换回占位符 if (groupIndex > -1) arr[index].forEach((v, idx) => arr[index][idx] = kv[arr[index][idx]] || arr[index][idx]); }); console.log(arr)
解决 1无用
悬赏问题
- ¥15 树莓派与pix飞控通信
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题