Java:如何识别特定字符串
我正在通过Swing进行简单的聊天,并且遇到了一些问题 我试图让我的客户端在收到另一个用户的输入“/w另一个用户ID”时向另一个用户发送一条私人消息。这与EventHandler无关,而是与如何识别字符串有关。事件处理程序与下面的类似Java:如何识别特定字符串,java,string,swing,keyevent,Java,String,Swing,Keyevent,我正在通过Swing进行简单的聊天,并且遇到了一些问题 我试图让我的客户端在收到另一个用户的输入“/w另一个用户ID”时向另一个用户发送一条私人消息。这与EventHandler无关,而是与如何识别字符串有关。事件处理程序与下面的类似 public void keyTyped(KeyEvent e) { if(textField.getText().equals("/w ")){ } } 我应该如何获得其他字符串输入,例如另一个用户的id 使用 这样,您就可以简单地删除文本并排除/
public void keyTyped(KeyEvent e) {
if(textField.getText().equals("/w ")){
}
}
我应该如何获得其他字符串输入,例如另一个用户的id 使用
这样,您就可以简单地删除文本并排除/w
部分,将其用作/w某物
String message = textField.getText().substring(2);
使用
这样,您就可以简单地删除文本并排除/w
部分,将其用作/w某物
String message = textField.getText().substring(2);
您可以对此使用正则表达式,也可以使用字符串子字符串函数获取前两个字符,然后将其与“/w”匹配。您可以使用正则表达式获取前两个字符,或者使用字符串子字符串函数获取前两个字符,然后将其与“/w”匹配
仅当文本字段中的文本为“/w
”时,此条件才为真
您可以使用if(textField.getText().startsWith(“/w”)
然后可以删除前3个字符,包括“/”、“w”和空格“”,以填充另一个用户id
使用StringValue.substring(3)
例如:
String text = "/w anotheruserid";
System.out.printf("Before populating anotheruserid==>%s\n", text);
if (text.startsWith("/w ")) {
text = text.substring(3);
/*
* Remove the first 3 characters, including '/' ,'w' and ' ')
*/
System.out.printf("After Populating anotheruserid==>%s\n", text);
}
控制台中的输出:
Before populating anotheruserid==>/w anotheruserid
After Populating anotheruserid==>anotheruserid
仅当文本字段中的文本为“/w
”时,此条件才为真
您可以使用if(textField.getText().startsWith(“/w”)
然后可以删除前3个字符,包括“/”、“w”和空格“”,以填充另一个用户id
使用StringValue.substring(3)
例如:
String text = "/w anotheruserid";
System.out.printf("Before populating anotheruserid==>%s\n", text);
if (text.startsWith("/w ")) {
text = text.substring(3);
/*
* Remove the first 3 characters, including '/' ,'w' and ' ')
*/
System.out.printf("After Populating anotheruserid==>%s\n", text);
}
控制台中的输出:
Before populating anotheruserid==>/w anotheruserid
After Populating anotheruserid==>anotheruserid
用户id本身是否有任何限制?您可以尝试将输入分解为多个部分,并验证每个部分是否符合预期。用户id本身是否有任何限制?你可以试着把输入分解成几部分,并验证每一部分都是你所期望的。没问题,很高兴我能帮上忙。没问题,很高兴我能帮上忙。