La méthode "indexOf" de la classe String retourne la position de la première occurence d'un caractère donné ou -1 si le caractère n'est pas trouvé.
Dans l'exemple suivant, on cherche successivement la position des caractères 'g' et 'h' :
String chaine = "Un anneau pour les gouverner tous."; int pos = chaine.indexOf('g'); System.out.println(pos); // la méthode retournera -1 si le caractère est introuvable pos = chaine.indexOf('h'); System.out.println(pos);
Sortie :
C:\>java Exemple 19 -1 C:\>
On peut aussi indiquer à partir de quelle position débute la recherche :
String chaine = "Un anneau pour les gouverner tous."; int pos = chaine.indexOf('a'); System.out.println(pos); // recherche débutant à la position 4 pos = chaine.indexOf('a', 4); System.out.println(pos);
Sortie :
C:\>java Exemple 3 7 C:\>
Il existe aussi une version de la méthode "indexOf" qui permet de rechercher une chaîne (String) dans une autre chaîne :
String chaine = "Un anneau pour les gouverner tous."; int pos = chaine.indexOf("ou"); System.out.println(pos); // recherche débutant à la position 15 pos = chaine.indexOf("ou", 15); System.out.println(pos);
Sortie :
C:\>java Exemple 11 20 C:\>
Il existe enfin une méthode "lastIndexOf" qui fait le même travail que "indexOf", mais en commençant par la fin de la chaîne et en reculant.