Contenu du cours
Java Avancé
Java Avancé
Méthode Indexof()
Comment trouver l’index d’un caractère spécifié dans une chaîne ?
Pour trouver l’index de la première occurrence d’une lettre spécifique, la classe String
fournit la méthode indexOf()
. Cette méthode est surchargée et possède plusieurs implémentations. Examinons ce que chacune d’elles effectue :
indexOf(String str)
indexOf(String str)
– dans cette méthode, le paramètre précise ce que l’on recherche. Il peut s’agir d’une seule lettre entre guillemets doubles (""
), d’une séquence de lettres ou même d’un mot. Cette méthode retourne l’index de la première occurrence du paramètre spécifié dans la chaîne. Par exemple, trouvons l’index de la lettre "l"
dans la chaîne "Hello"
:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }
Dans l’exemple ci-dessus, nous avons initialisé la variable index
à l’aide de la méthode indexOf("l")
. Désormais, cette variable contient l’index de la première occurrence de la lettre "l"
dans la chaîne "Hello"
.
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex)
– le premier paramètre est identique au précédent et précise ce que l’on recherche.
Le second paramètre détermine l’index de départ à partir duquel commence la recherche. Par exemple, dans le mot "Hello"
, il y a 2 occurrences de la lettre "l"
, et nous souhaitons trouver l’index de la seconde occurrence. D’après le premier exemple, nous savons que la première occurrence se trouve à l’index 2
, donc définissons le paramètre fromIndex
à 3 et trouvons l’index du second "l"
:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }
Dans l'exemple ci-dessus, une approche plus pratique a été adoptée. L'emplacement de la première occurrence de la lettre spécifiée a été utilisé pour rechercher la seconde lettre à partir de l'index augmenté de 1. Ainsi, la recherche commence à l'index suivant celui de la première occurrence de la lettre ou de l'ensemble de lettres souhaité.
De plus, les paramètres String str
et int fromIndex
peuvent être interchangés.
Il convient également de noter que si la méthode indexOf()
ne trouve pas la lettre ou l'ensemble de lettres spécifié, elle retournera la valeur -1
. Par exemple :
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }
La recherche de la lettre "d"
dans la chaîne "Hello"
n'a donné aucun résultat, et la méthode a renvoyé -1
. Cela peut être utile pour définir des conditions ou créer un point de sortie dans une boucle.
Comment trouver le dernier indice dans la chaîne
String
dispose également d'une méthode permettant de rechercher à partir de la fin de la chaîne. Cette méthode s'appelle lastIndexOf()
. Elle fonctionne selon le même principe. Considérons un exemple de recherche de la dernière occurrence de la lettre "l"
dans la chaîne "Hello"
:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }
Ici, nous avons obtenu le résultat 3
, représentant l'indice de la dernière occurrence de la lettre "l"
.
Merci pour vos commentaires !