Dans cette fiche...

<Retour>

Description de l'applet

Difficulté : Résultat

La méthode indexOf() permet de rechercher la position d'une chaîne dans une autre.
En voici quelques exemples.
Votre navigateur n'est pas compatible Java !

Listing de l'applet

// --------------------------------------------------
// CHERCHE : OPERATIONS SUR LES CHAINES DE CARACTERES
// --------------------------------------------------
import java.applet.*;
import java.awt.*;
public class Cherche extends Applet
{
	String s1, s2;
	public void init()
	{
		// Définir la couleur de fond de l'applet
		setBackground(Color.black);
		s1 = "Loi de McGovern";
		s2 = "Plus le titre est long, moins le poste est important.";
	}
	// Affichage
	public void paint(Graphics g)
	{
		// Affichage de la chaîne s1 en jaune
		g.setColor(Color.yellow);
		g.drawString(s1, 10, 15);
		// Affichage de la chaîne s2 en blanc
		g.setColor(Color.white);
		g.drawString(s2, 10, 30);
		// Position du mot "le" dans s2
		g.setColor(Color.orange);
		g.drawString("Le mot 'le' figure en position : " + s2.indexOf("le"), 10, 60);
		// Position du mot "LE" dans s2
		g.drawString("Le mot 'LE' figure en position : " + s2.indexOf("LE"), 10, 75);		
		// Position du mot "le", en partant du 10ème caractère de s2
		g.drawString("Deuxième 'le' en position : " + s2.indexOf("le", 9), 10, 90);
	}
}

Télécharger le listing

Le listing en détail...

Seules les nouveautés par rapport aux listings précédents sont commentées ici.

s2.indexOf("le")
La méthode indexOf() donne la position de la chaîne "le" dans la chaîne s2.
A noter que la 1ère lettre est en position 0 (et non pas 1), et ainsi de suite.
Si la sous-chaîne n'existe pas, indexOf() renvoie la valeur -1.
   
s2.indexOf("LE")
On recherche cette fois la même sous-chaîne, mais en majuscules. Vous remarquerez que indexOf() renvoie -1, ce qui veut dire que cette méthode fait la distinction majuscules/minuscules.
 
s2.indexOf("le", 9)
Voici une variante de la méthode indexOf(), qui reçoit 2 paramètres au lieu d'un seul : la sous-chaîne à chercher, et la position de départ dans la chaîne s2. Dans l'exemple, on cherche le mot "le" à partir de la 10ème lettre de s2 (et donc en ignorant le début de la chaîne s2).

Combinée à une boucle, cette fonction indexOf() permettrait donc de compter combien de "le" figurent dans la chaîne s2.
Pour un exemple complet, consultez la fiche Recherche d'occurrences.

Intégration de l'applet dans la page

Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :

<applet code="Cherche.class" width=250 height=100>
Votre navigateur n'est pas compatible Java !
</applet>

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.