gpt4 book ai didi

Javascript,将一个字符串分成 4 block ,剩下的作为一大块

转载 作者:行者123 更新时间:2023-11-29 19:10:34 25 4
gpt4 key购买 nike

我正在为某事构建一个 Javascript 聊天机器人,我遇到了一个问题:
我使用 string.split() 像这样标记我的输入:
tokens = message.split("");

现在我的问题是我需要 4 个 token 来发出命令,1 个 token 来接收消息。当我这样做时:!finbot msg testuser 12345 先生您好,这是一条测试消息

这些是我得到的代币:["!finbot", "msg", "testuser", "12345", "Hello", "sir,", "this", "is", "a", "test", "message"]

但是,我怎样才能让它变成这样:["!finbot", "msg", "testuser", "12345", "您好先生,这是一条测试消息"]

我想要这样的原因是因为第一个 token (token[0]) 是调用,第二个 (token[1]) 是命令,第三个 (token[2]) 是用户,第四个 (token[3]) 是密码(因为它是受密码保护的消息...只是为了好玩)和第五个(token[4])是实际的消息。
现在,它只会发送 Hello,因为我只使用了第 5 个 token 。
我不能像 message = token[4] + token[5]; 等那样的原因是因为消息并不总是恰好是 3 个词,或者不是恰好是 4 个词等。

我希望我提供了足够的信息让你帮助我。如果你们知道答案(或知道更好的方法)请告诉我。

谢谢!

最佳答案

使用String.splitlimit参数:

tokens = message.split(" ", 4);

从那里,您只需要从字符串中获取消息。重复使用 this answer对于它的 nthIndex() 函数,您可以获得第 4 次出现的空格字符的索引,并取其后的任何内容。

var message = message.substring(nthIndex(message, ' ', 4))

或者如果您需要在您的 tokens 数组中:

tokens[4] = message.substring(nthIndex(message, ' ', 4))

关于Javascript,将一个字符串分成 4 block ,剩下的作为一大块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39184819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com