Java Language Recherche d'une chaîne dans une autre chaîne


Exemple

Pour vérifier si une chaîne particulière a est contenue dans une chaîne b ou non, nous pouvons utiliser la méthode String.contains() avec la syntaxe suivante:

b.contains(a); // Return true if a is contained in b, false otherwise

La méthode String.contains() peut être utilisée pour vérifier si une CharSequence peut être trouvée dans la chaîne. La méthode recherche la chaîne a dans la chaîne b de manière sensible à la casse.

String str1 = "Hello World";
String str2 = "Hello";
String str3 = "helLO";

System.out.println(str1.contains(str2)); //prints true
System.out.println(str1.contains(str3)); //prints false

Démo en direct sur Ideone


Pour rechercher la position exacte où une chaîne commence dans une autre chaîne, utilisez String.indexOf() :

String s = "this is a long sentence";
int i = s.indexOf('i');    // the first 'i' in String is at index 2
int j = s.indexOf("long"); // the index of the first occurrence of "long" in s is 10
int k = s.indexOf('z');    // k is -1 because 'z' was not found in String s
int h = s.indexOf("LoNg"); // h is -1 because "LoNg" was not found in String s

Démonstration en direct sur Ideone

Le String.indexOf() méthode renvoie le premier indice d'une char ou String dans une autre String . La méthode renvoie -1 si elle n'est pas trouvée.

Remarque : La méthode String.indexOf() est sensible à la casse.

Exemple de recherche en ignorant la casse:

String str1 = "Hello World";
String str2 = "wOr";
str1.indexOf(str2);                               // -1
str1.toLowerCase().contains(str2.toLowerCase());  // true
str1.toLowerCase().indexOf(str2.toLowerCase());   // 6

Démo en direct sur Ideone