如何使用 .split 防止在引号处拆分

How can I prevent a split at a quoted comma using .split?

本文关键字:拆分 何使用 split      更新时间:2023-09-26

我想拆分一个逗号分隔的字符串。array1 由 .csv 文件中的行字符串填充。

然后,Array2 将其拆分为单独的值。 它工作正常,但如果我在引号内有一个逗号,则不能。

for (var i = 0; i < array1.length; i++) {
    array2.push(array1[i].split(","));      
}

array1[0] = abcde, defg, hijkl;
array1[1] = abcde, "def,ghi" , jklmn;

应该成为

array2[0]....
array2[1][0] = abcde
array2[1][1] = def,ghi
array2[1][2] = jklmn

如何防止在引号处拆分?

在正则表达式中使用前瞻性:

split(",(?=(([^'"]*'"){2})*[^'"]*$)")
这仅在逗号后跟偶数引号

拆分(后跟奇数的引号必须在引号)。