| Dans cette fiche... |
| Difficulté :
|
Résultat |
La méthode indexOf() permet de rechercher la position d'une chaîne dans une autre. En voici quelques exemples. |
|
// -------------------------------------------------- // 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);
}
}
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.
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.
| Cette section vous intéresse ? Abonnez-vous ! |
|