Как найти, присутствует ли специальный символ в строке в Java - PullRequest
1 голос
/ 03 августа 2011

Я хочу проверить, содержит ли строка # или нет.Тогда, если он содержит #, я хочу найти содержимое после #.

Например,

  • test#1 - Это должно вернуть мне 1.
  • test*1 - Это ничего не должно возвращать.
  • test#123Test - Это должно вернуть 123Test.

Пожалуйста, дайте мне знать.Спасибо заранее.

Ответы [ 2 ]

4 голосов
/ 03 августа 2011

Я бы использовал простые строковые операции, а не регулярное выражение:

int index = text.indexOf('#');
return index == -1 ? "" : text.substring(index + 1);

(я предполагаю, что «не должен ничего возвращать» означает «вернуть пустую строку» здесь - вы можете изменить его на возвращение null, если хотите.)

2 голосов
/ 03 августа 2011
// Compile a regular expression: A hash followed by any number of characters
Pattern p = Pattern.compile("#(.*)");

// Match input data
Matcher m = p.matcher("test#1");

// Check if there is a match
if (m.find()) {

  // Get the first matching group (in parentheses)
  System.out.println(m.group(1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...