gpt4 book ai didi

如果在命令后找到文本,Java 会拆分

转载 作者:行者123 更新时间:2023-11-29 04:40:08 25 4
gpt4 key购买 nike

我几个小时都在尝试如何做到这一点,所以我会在这里寻求帮助。我运行一个 IRC 机器人并尝试做一些事情,当用户向机器人发送命令时,它需要查看它是否可以吐出用户的输入(如果有的话)。

例如:!help lag 2 3;该代码适用于此,但如果用户仅发送

例如:!help;它因 Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 1

而崩溃

这是该部分的代码:

String command = str.split("!")[1];
command = command.split("\\s+", 2)[0];
String username_fix = java.net.URLEncoder.encode(username, "UTF-8").replace("_", "%20");
String combined = "";
String fix = str.split(command)[1];
fix = fix.trim();
String arrayString[] = fix.split("\\s+");
for (int j = 0; j < arrayString.length; j++) {
combined += arrayString[j] + "|";
}

错误来自 String fix = str.split(command)[1];

这完成了由 msrd0 完成的工作 if (str.split(command).length > 1)

但是罗夏的答案是一样的,所以我将其标记为已解决。非常感谢!

最佳答案

不要尝试自动获取 str.split(command) 数组的第二个元素。先进行拆分,然后检查那里是否有第二个元素。

//no
String fix = str.split(command)[1];

//yes
String[] something = str.split(command);

if(something.length > 1) {
//rest of your logic
}

关于如果在命令后找到文本,Java 会拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551128/

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