Как узнать, существует ли подстрока внутри другой строки в Java 1.4? - PullRequest
13 голосов
/ 27 марта 2009

Как узнать, существует ли подстрока «шаблон» (например) внутри объекта String?

Было бы замечательно, если бы это была не чувствительная к регистру проверка.

Ответы [ 4 ]

31 голосов
/ 27 марта 2009

String.indexOf (String)

Для поиска без учета регистра toUpperCase или toLowerCase как исходной строки, так и подстроки перед indexOf

String full = "my template string";
String sub = "Template";
boolean fullContainsSub = full.toUpperCase().indexOf(sub.toUpperCase()) != -1;
14 голосов
/ 27 марта 2009

Используйте регулярное выражение и пометьте его как нечувствительное к регистру:

if (myStr.matches("(?i).*template.*")) {
  // whatever
}

(? I) включает нечувствительность к регистру, а . * в каждом конце поискового запроса соответствуют любым окружающим символам (поскольку String.matches работает на всю строку).

3 голосов
/ 27 марта 2009

Вы можете использовать indexOf () и toLowerCase () для выполнения регистрозависимых тестов для подстрок.

String string = "testword";
boolean containsTemplate = (string.toLowerCase().indexOf("template") >= 0);
2 голосов
/ 24 июня 2015
String word = "cat";
String text = "The cat is on the table";
Boolean found;

found = text.contains(word);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...