我收到以下形式的消息:
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是字符串而不是参数列表。
答案 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可能会让您感兴趣。