Подтвердить что ты не робот

Как узнать, существует ли подстрока внутри другой строки в Java 1.4?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

String.indexOf(String)

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

String full = "my template string";
String sub = "Template";
boolean fullContainsSub = full.toUpperCase().indexOf(sub.toUpperCase()) != -1;

Ответ 3

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

String string = "testword";
boolean containsTemplate = (string.toLowerCase().indexOf("template") >= 0);

Ответ 4

String word = "cat";
String text = "The cat is on the table";
Boolean found;

found = text.contains(word);