Explorer indexOf()
pour la position d'une sous-chaîne
Dans l'étape précédente, nous avons appris à vérifier si une chaîne de caractères contient une sous-chaîne en utilisant contains()
. Maintenant, explorons une autre méthode utile, indexOf()
, qui non seulement nous indique si une sous-chaîne existe, mais nous donne également sa position de départ dans la chaîne.
La méthode indexOf()
de la classe String
en Java retourne l'indice (index) dans la chaîne de la première occurrence de la sous-chaîne spécifiée. L'indice est la position du premier caractère de la sous-chaîne. N'oubliez pas que en programmation, l'indexation commence généralement à 0. Si la sous-chaîne n'est pas trouvée, indexOf()
retourne -1.
Modifions notre fichier Java précédent, StringContains.java
, pour utiliser la méthode indexOf()
.
-
Ouvrez le fichier StringContains.java
dans l'éditeur de l'WebIDE.
-
Remplacez tout le contenu du fichier par le code suivant :
public class StringContains {
public static void main(String[] args) {
String sentence = "Java programming is fun and powerful.";
String keyword = "programming";
// Trouver l'indice du mot-clé
int index = sentence.indexOf(keyword);
System.out.println("Sentence: \"" + sentence + "\"");
System.out.println("Keyword: \"" + keyword + "\"");
if (index != -1) {
System.out.println("The keyword \"" + keyword + "\" was found at index: " + index);
} else {
System.out.println("The keyword \"" + keyword + "\" was not found.");
}
String anotherKeyword = "Python";
int anotherIndex = sentence.indexOf(anotherKeyword);
System.out.println("\nAnother keyword: \"" + anotherKeyword + "\"");
if (anotherIndex != -1) {
System.out.println("The keyword \"" + anotherKeyword + "\" was found at index: " + anotherIndex);
} else {
System.out.println("The keyword \"" + anotherKeyword + "\" was not found.");
}
}
}
Dans ce code mis à jour :
- Nous utilisons
sentence.indexOf(keyword)
pour trouver l'indice de départ du keyword
dans la sentence
. Le résultat est stocké dans une variable int
appelée index
.
- Nous utilisons une instruction
if
pour vérifier si l'index
retourné est -1. Si ce n'est pas -1, cela signifie que le mot-clé a été trouvé, et nous affichons son indice. Sinon, nous affichons un message indiquant que le mot-clé n'a pas été trouvé.
- Nous répétons le processus pour "Python" pour démontrer le cas où la sous-chaîne n'est pas présente.
-
Enregistrez le fichier (Ctrl+S ou Cmd+S).
-
Ouvrez le Terminal en bas de l'WebIDE.
-
Assurez-vous que vous êtes dans le répertoire ~/project
.
-
Compilez le programme Java modifié :
javac StringContains.java
-
Exécutez le programme Java compilé :
java StringContains
Vous devriez voir un résultat similaire à ceci :
Sentence: "Java programming is fun and powerful."
Keyword: "programming"
The keyword "programming" was found at index: 5
Another keyword: "Python"
The keyword "Python" was not found.
Le résultat montre que "programming" commence à l'indice 5 dans la phrase (en rappelant que 'J' est à l'indice 0, 'a' est à l'indice 1, et ainsi de suite, y compris l'espace). Il indique également correctement que "Python" n'a pas été trouvé.
L'utilisation de indexOf()
est un moyen puissant non seulement de vérifier la présence d'une sous-chaîne, mais aussi de déterminer sa position exacte, ce qui peut être utile pour diverses tâches de manipulation de chaînes de caractères.