【发布时间】:2018-03-10 17:14:25
【问题描述】:
我有一个机器人可以处理带有给定参数的字符串。这是我试图获取命令参数的内容:
parse: function (message, argLength) {
var words = message.split(" ");
words.shift(); // Don't return command name in array.
if (words.length < argLength) // If there is not enough parameters, return null
return null;
else if (words.length == argLength) { // If length is exact same, return
return words;
}
else { //Otherwise, concenate first ones till it is exact length.
var concenateString = "";
var length = words.length - argLength + 1;
for (var i = 0; i < length; i++) {
var element = words[0];
concenateString += " " + element;
words.shift();
}
words.unshift(concenateString);
return words;
}
}
如果参数多于所需参数,它将自动连接第一个字符串,因为它是由空格分隔的。 a b c 以 "a b" "c" 的两个参数为例。但是如果" 被通过了,我想在" 之间得到单词,而不仅仅是让步。
【问题讨论】:
-
请添加一些调用示例和想要的结果。
-
假设我想要两个参数;给定的参数是“一些多”“单词参数”。此代码会将其解析为如下数组:
["some multi word","parameters"]
标签: javascript arrays node.js string split