В Java мы можем использовать String.contains()
, чтобы проверить, содержит ли строка подстроку.
1.Строка.содержит() – чувствительный к регистру
package com.mkyong; public class JavaExample1 { public static void main(String[] args) { String name = "mkyong is learning Java 123"; System.out.println(name.contains("Java")); // true System.out.println(name.contains("java")); // false System.out.println(name.contains("MKYONG")); // false System.out.println(name.contains("mkyong")); // true if (name.contains("Java")) { System.out.println("Hello Java"); } else { System.out.println("abc..."); } } }
Выход
true false false true Hello Java
2.Строка.содержит() – Игнорирование Дела
Идея состоит в том, чтобы преобразовать все строки и подстроки в нижний регистр, прежде чем проверять с помощью .contains()
package com.mkyong; public class JavaExample2 { public static void main(String[] args) { String name = "mkyong is learning Java 123"; System.out.println(containsIgnoreCase(name, "Java")); // true System.out.println(containsIgnoreCase(name, "java")); // true System.out.println(containsIgnoreCase(name, "MKYONG")); // true System.out.println(containsIgnoreCase(name, "mkyong")); // true } public static boolean containsIgnoreCase(String str, String subString) { return str.toLowerCase().contains(subString.toLowerCase()); } }
Выход
true true true true
3. Индекс()
3.1 Просмотрите исходный код JDK String
, содержит()
использует indexOf()
для внутренней проверки подстроки.
package java.lang; public boolean contains(CharSequence s) { return indexOf(s.toString()) >= 0; }
3.2 Таким образом, мы также можем проверить подстроку следующим образом:
package com.mkyong; public class JavaExample3 { public static void main(String[] args) { String name = "mkyong is learning Java 123"; if (name.indexOf("Java") != -1) { System.out.println("Hello Java"); // print this } else { System.out.println("abc..."); } } }
Выход
Hello Java
Рекомендации
Оригинал: “https://mkyong.com/java/java-check-if-a-string-contains-another-string/”