在javascript中出现的前两个逗号处拆分字符串

Arc*_*Arc 1 javascript split comma

让我们考虑一个变量str定义为:

var str = "A, B, C, D, E, F"
Run Code Online (Sandbox Code Playgroud)

要在逗号处拆分字符串,我会这样做:

str = str.split(",")
console.log(str)
// => ["A", "B", "C", "D", "E", "F"]
Run Code Online (Sandbox Code Playgroud)

那么,如果我必须在前两个逗号处拆分它,我该怎么办,以便输出变为:

// => ["A", "B", "C, D, E, F"]
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

您可以使用正则表达式来匹配第一个非逗号部分,然后是第二个非逗号部分,然后是其他任何内容(字符串的其余部分):

var str = "A, B, C, D, E, F";
const [, ...matches] = str.match(/(\w+), (\w+), (.+)/);
console.log(matches);
Run Code Online (Sandbox Code Playgroud)

您也可以使用split负后视来实现,但并非所有地方都支持负后视(并且在极少数环境中支持可变长度后视):

var str = "A, B, C, D, E, F";
console.log(
  str.split(/(?<=^[^,]+(?:,[^,]+)?), /)
);
Run Code Online (Sandbox Code Playgroud)