在javascript中按逗号的首次出现进行拆分

时间:2018-07-25 13:39:16

标签: javascript regex split

我收到以下形式的消息:

var message = 'hello.there, "how are you, doing"'

哪个需要按','的第一次出现来拆分,这样我就有两个对象,即'hello.there'(param 1)"how are you, doing(param 2)",这样param 2应该是{{ 1}},应该保留空格吗?

我尝试过类似 arguments(length=1)

但这会导致param2是字符串而不是参数列表。

2 个答案:

答案 0 :(得分:2)

只需找到第一个逗号,然后按该逗号即可:

const pos = message.indexOf(",");
const param1 = message.substr(0, pos);
const param2 = message.substr(pos);

或者param2应该是用逗号分隔的其他字符串的数组:

const [param1, ...param2] = message.split(",");

答案 1 :(得分:0)

您将必须找到第一个,的索引,将字符串切成该索引,然后将第二个切片除以,

var i = message.indexOf(',');    //find the index of the first ,
var param1 = message.slice(0,i);    //param1 is the slice from 0 to i
var param2 = message.slice(i+1).split(',');    //param2 is the slice from i+1 splitted at ,

顺便说一下,还有其他一些方法可以通过第一次出现令牌来拆分数组。 This SO post可能会让您感兴趣。