2013-11-17 3 views
1

Я делаю простой чат через Swing и имею некоторые проблемы.Java: Как распознать определенную строку

Я пытаюсь заставить своего клиента отправлять личное сообщение другому пользователю, когда он получает вход «/ w anotheruserid». Речь идет не о EventHandler, а о том, как распознать строку. Обработчик событий должен быть таким, как показано ниже.

public void keyTyped(KeyEvent e) { 
if(textField.getText().equals("/w ")){ 

    } 
} 

Как мне сделать так, чтобы получить дополнительный ввод строки, такой как идентификатор другого пользователя?

+0

Существуют ли какие-либо ограничения на сам идентификатор пользователя? Вы можете попытаться разбить входные данные на части и проверить, что каждая часть - это то, что вы ожидаете. –

ответ

2

использование startsWith

if(textField.getText().startsWith("/w ")){ 
} 

Таким образом, вы можете просто substring текст и исключить /w часть, чтобы использовать его в качестве /w something.

String message = textField.getText().substring(2); 
+0

Гоша .... сам ответ, который я искал. Благодаря!! – March3

+0

Без проблем, рад, что я мог бы помочь. –

2

Вы можете использовать регулярное выражение для этого или может использовать функцию подстроки String, чтобы получить первые два символа, а затем может сравнить его с «/ ш».

1
if(textField.getText().equals("/w ")){ 

Это условие истинно, только если текст в текстовое поле является «/w»;

Вместо этого вы можете использовать if(textField.getText().startsWith("/w ")).

И тогда вы можете удалить первые 3 символа, включая '/', 'w' и Space '', чтобы заполнить другой идентификатор пользователя.

Использование 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 
Смежные вопросы