Java - Vérifiez si une chaîne contient une sous-chaîne
En Java, nous pouvons utiliserString.contains() pour vérifier si une chaîne contient une sous-chaîne.
1. String.contains() – Case Sensitive
JavaExample1.java
package com.example;
public class JavaExample1 {
public static void main(String[] args) {
String name = "example 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("example")); // true
if (name.contains("Java")) {
System.out.println("Hello Java");
} else {
System.out.println("abc...");
}
}
}
Sortie
true false false true Hello Java
2. String.contains() – Ignoring Case
L'idée est de convertir toutes les chaînes et sous-chaînes en minuscules avant de vérifier avec.contains()
JavaExample2.java
package com.example;
public class JavaExample2 {
public static void main(String[] args) {
String name = "example 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, "example")); // true
}
public static boolean containsIgnoreCase(String str, String subString) {
return str.toLowerCase().contains(subString.toLowerCase());
}
}
Sortie
true true true true
3. Indice de()
3.1 Review the JDK String source code, the contains() uses indexOf() to check substring internally.
String.java
package java.lang;
public boolean contains(CharSequence s) {
return indexOf(s.toString()) >= 0;
}
3.2 So, we can also check the substring like this :
JavaExample3.java
package com.example;
public class JavaExample3 {
public static void main(String[] args) {
String name = "example is learning Java 123";
if (name.indexOf("Java") != -1) {
System.out.println("Hello Java"); // print this
} else {
System.out.println("abc...");
}
}
}
Sortie
Hello Java