java - 如何在不同的字符串之间抓取多个字符串?

标签 java

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

我编写了代码,允许一个用户向另一个用户“低声”发送消息,而其他已登录的用户则无法看到该私有(private)消息。

我只能允许“一个”用户查看该消息,但无法让更多用户查看该私有(private)消息。

例如,这是我的代码,允许用户查看给他的私有(private)消息:

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 匹配,我会向他发送一条消息。

第一个问题是,我如何提取多个用​​户来发送消息?即如果代码是:

/w bob mike john hi guys

第二个问题是,我如何以允许我迭代 HashMap 的方式存储 3 个用户并将其仅发送给这 3 个用户而不发送给其他用户?

感谢您的帮助!

最佳答案

您可以将字符串拆分为空格字符 (),迭代结果,并将消息视为从第一个与有效用户名不匹配的单词开始并包括在内的所有内容。在此之前,用户应该收到消息。

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

/w bob,mike,john hi bob

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

关于java - 如何在不同的字符串之间抓取多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070052/

相关文章:

java命令行批处理文件

java - Java 中的 Oracle 存储过程调用。需要的设计建议

java - 插入双向链表

java - 从连接 Java 中的 SQL 字符串转移到 PreparedStatement

java - StAX 事件过滤器 StackOverflowError

java - hibernate 中索引和@NaturalId 的区别

java - 没有错误但没有音频?

java - GSON - 使用 unicode 字符

java - 使用 Spring WebClient 重复过滤响应

java - 如何对 java 中 Scanner 生成的值执行算术运算?