【发布时间】:2017-01-04 05:16:25
【问题描述】:
我正在为某事构建一个 Javascript 聊天机器人,但遇到了一个问题:
我使用string.split() 来标记我的输入,如下所示:tokens = message.split(" ");
现在我的问题是我需要 4 个令牌来发出命令,以及 1 个令牌来发送消息。
当我这样做时:
!finbot msg testuser 12345 Hello sir, this is a test message
这些是我得到的令牌:
["!finbot", "msg", "testuser", "12345", "Hello", "sir,", "this", "is", "a", "test", "message"]
但是,我怎样才能使它变成这样:
["!finbot", "msg", "testuser", "12345", "Hello sir, this is a test message"]
我想要这样的原因是因为第一个令牌(token[0])是调用,第二个(token[1])是命令,第三个(token[2])是用户,第四个(@ 987654329@) 是密码(因为它是受密码保护的消息……只是为了好玩),第五个 (token[4]) 是实际消息。
现在,它只会发送Hello,因为我只使用第 5 个令牌。
我不能像message = token[4] + token[5]; 这样的原因是因为消息并不总是正好是 3 个单词,或者不完全是 4 个单词等。
我希望我提供了足够的信息来帮助我。 如果你们知道答案(或知道更好的方法),请告诉我。
谢谢!
【问题讨论】:
标签: javascript arrays tokenize