Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不同的字符串之间抓住多个字符串?_Java - Fatal编程技术网

Java 如何在不同的字符串之间抓住多个字符串?

Java 如何在不同的字符串之间抓住多个字符串?,java,Java,因此,基本上我正在尝试构建一个简单的客户机-服务器程序,允许用户登录并相互通信 我已经编写了一段代码,允许一个用户向另一个用户“低声”发送消息,而没有其他登录的用户能够看到私人消息 我只能允许“一个”用户查看消息,但在允许更多用户查看私人消息时遇到问题 例如,我的代码允许用户查看发送给他的私人消息: string restOfMessage = "/w bob hi bob"; /w bob hi bob /w是耳语命令,bob是用户耳语的对象,hi-bob是消息 为了提取bob,我做了以下工

因此,基本上我正在尝试构建一个简单的客户机-服务器程序,允许用户登录并相互通信

我已经编写了一段代码,允许一个用户向另一个用户“低声”发送消息,而没有其他登录的用户能够看到私人消息

我只能允许“一个”用户查看消息,但在允许更多用户查看私人消息时遇到问题

例如,我的代码允许用户查看发送给他的私人消息:

string restOfMessage = "/w bob hi bob";
/w bob hi bob
/w是耳语命令,bob是用户耳语的对象,hi-bob是消息

为了提取bob,我做了以下工作:

StringBuffer userMessage = new StringBuffer();
buffer.append(restOfMessage.substring(restOfMessage.indexOf(' ') + 1,
restOfMessage.length()));
String whisperUser = buffer.substring(0, buffer.indexOf(" "));
然后我按照相同的方法提取hi-bob

我有一个迭代器,可以遍历在线用户的HashMap,如果该在线用户与bob匹配,我会给他发送一条消息

第一个问题是,如何提取多个用户以向其发送消息?i、 e.如果代码为:

/w bob mike john hi guys
第二个问题是,我如何存储这3个用户,使我能够遍历HashMap并将其仅发送给这3个用户,而不发送给其他用户


谢谢你的帮助

> P>你可以将字符串分割成空间字符(<代码> <代码> >),反复遍历结果,并将消息视为从第一个单词开始的所有单词,包括与有效用户名不匹配的第一个单词。在这之前,用户应该得到信息

或者,您可以使用不同的语法,例如

/w bob,mike,john hi bob

如果您知道在
之后,
您需要另一个用户名。

可能会定义一些分隔符

"/w bob mike john: hi bob"
冒号可以作为消息的开头

或者以不同的方式定义用户:

"/w @bob @mike @john hi bob"
有很多方法可以做到这一点,你需要定义一个好的布局并坚持下去。如果这只是一个随意的应用程序,您可以定义自己的随机应用程序。但看看IRC,它已经存在多年了。查看RFC文档是一个很好的地方。最相关的是


对于
/w bob mike john hi bob
,您如何知道
hi
不是用户?这就是我试图寻求帮助的原因:)