用逗号拆分字符串,但忽略双引号内的逗号[重复]。

问题描述 投票:0回答:1

输入 var str='john,doe, "1,234.56",0.00,true' 。

我试着用以下的regex

var arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g);

但得到的错误是未命名的字符串。

一个非regex的解决方案可以实现以下输出

期望的产出:约翰、无名氏、1,234.56、0.00、真

john,doe,1,234.56,0.00,true。

var str='john,doe,"1,234.56",0.00,true'
var arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g);
console.log(arr.join("."))
javascript csv salesforce-lightning
1个回答
0
投票

你可以使用 negative looakaheadnegative lookbehind

var str='john,doe,"1,234.56",0.00,true';
var out = str.match(/(?<!\")([\w\.]+)(?!")(?:,|$)/g)
console.log(out)
© www.soinside.com 2019 - 2024. All rights reserved.