Maison  >  Article  >  Java  >  Programme Java pour trouver le dernier index d'un mot spécifique dans une chaîne

Programme Java pour trouver le dernier index d'un mot spécifique dans une chaîne

WBOY
WBOYavant
2023-09-17 18:01:021243parcourir

Programme Java pour trouver le dernier index dun mot spécifique dans une chaîne

Une chaîne est une séquence de caractères. En Java, une chaîne est aussi un objet. C'est un objet de la Classe String. Le dernier index d'un mot particulier dans une chaîne n'est rien de plus que la position de la dernière occurrence de ce mot dans la chaîne. L'index d'un caractère dans une chaîne définit ou indique la position dans la chaîne. La position ou l'index commence toujours à 0. Dans cette section, nous verrons comment implémenter un programme Java pour trouver le dernier index d'un mot spécifique dans une chaîne. Les chaînes sont immuables en Java, c'est-à-dire qu'elles ne peuvent pas être manipulées. Si nous opérons sur une chaîne, un nouvel objet est créé.

Exemple

Entrez

searchString = "He is the one and only one male person in our team" word = "one"

Sortie

The last index is 23

Explication - Dans l'exemple ci-dessus, le mot « un » apparaît à l'index 10 et à l'index 23 dans la chaîne de recherche. Puisque 23 est le dernier index du mot « un », la sortie est 23.

Entrez

searchString = "Monkey eats banana" word = "eats"

Sortie

The last index is 7

Explication - Dans l'exemple ci-dessus, le mot « mange » apparaît à l'index 7 de la chaîne de recherche. Puisque 7 est le dernier index du mot « mange », le résultat est 7.

Nous allons maintenant discuter de différentes manières de trouver le dernier index d'un mot spécifique dans une chaîne en Java.

Méthode 1 : utilisez la méthode lastIndexOf()

Dans cette méthode, nous utiliserons la méthode intégrée lastIndexOf() fournie par Java. Classe String et recherche le dernier index d’un mot spécifique dans une chaîne.

Grammaire

La syntaxe suivante fait référence à l'utilisation de cette méthode

strobj.lastIndexOf(string)

Cette méthode renvoie le dernier index d'une chaîne spécifique donnée en paramètre d'entrée

Algorithme

  • Déclarez et initialisez une chaîne.

  • Initialisez la chaîne dont nous devons trouver le dernier index.

  • Utilisez la méthode lastIndexOf() pour trouver le dernier index d'un mot donné dans une chaîne donnée et le stocker dans une variable.

  • Imprimez la valeur de la variable pour obtenir la dernière valeur d'index.

Exemple

Dans cet exemple, nous initialisons la chaîne et le mot à rechercher et utilisons la méthode "lastIndexOf()". Si la chaîne du paramètre d'entrée n'existe pas, -1 est renvoyé ; si elle existe, l'index de la dernière occurrence de la chaîne est renvoyé.

// Java program to find lastIndex of a particular word in string.
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "He is the one and only one male person in our team";
      String word = "one";
      int lastindex = str.lastIndexOf(word);
      if (lastindex == -1) {
         System.out.println("The word not present in string.");
      } else {
         System.out.println("The last index of the searched word ==> " + word + " is "+ lastindex);
      }
   }
}

Sortie

The last index of the searched word ==> one is 23

Méthode 2 : utilisez la méthode indexOf()

Dans cette méthode, nous utiliserons la méthode intégrée indexOf() fournie par la classe java.String et trouverons le dernier index d'un mot spécifique dans la chaîne.

Algorithme

  • Déclarez et initialisez une chaîne.

  • Initialisez le mot dont nous devons trouver le dernier index.

  • Trouvez l'index d'un mot dans une chaîne à l'aide de la méthode indexOf(), qui renvoie la première occurrence du mot et l'attribue à la variable d'index

  • Utilisez une boucle while, attribuez l'index au dernier index et pour chaque valeur d'index trouvez le nouvel index du mot après la position d'index déjà trouvée dans la chaîne, utilisez la méthode indexOf() et répétez la recherche jusqu'à la valeur d'index est -1 .

  • Imprimez le dernier index, sinon imprimez -1.

Exemple

Dans l'exemple ci-dessous, nous initialisons deux variables avec des chaînes et utilisons la méthode « indexOf() » pour trouver l'index de départ du mot recherché dans la chaîne. Une fois le premier index trouvé, répétez cette opération en utilisant une boucle while, mais chaque fois qu'une nouvelle position d'index est trouvée, la position du paramètre start_index dans la méthode "indexOf()" doit être mise à jour avec la nouvelle position d'index trouvée. Ainsi, à la fin, la valeur d'index devient -1 et dans chaque boucle, nous stockons la valeur d'index précédente dans lastIndex et imprimons enfin la valeur lastIndex.

//java program to find last index of a particular word in a string using indexOf() method
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "He is the one and only one male person in our team";
      String word = "one";
      int lastindex = -1;
      int index = str.indexOf(word);
      while (index != -1) {
         lastindex = index;
         index = str.indexOf(word, index + 1);
      }
      if (lastindex == -1) {
         System.out.println("The word not present in string.");
      } else {
         System.out.println("The last index  is " + lastindex);
      }
   }
}

Sortie

The last index  is 23

Méthode 3 : utilisez la méthode regionMatches()

Dans cette méthode, nous utiliserons la méthode intégrée RegionMatches() fournie par la classe java.String et trouverons le dernier index d'un mot spécifique dans la chaîne.

Grammaire

public boolean regionMatches(boolean ignoreCase, int toffset,  String other,  int offset,  int len)

Paramètres

  • int offset - L'index de départ de la première plage de chaînes à comparer.

  • String other - la chaîne à comparer.

  • int offset - L'index de départ d'une autre plage de chaînes à comparer.

  • int len - Le nombre de caractères à comparer.

  • booleanignoreCase - Indique si les comparaisons ne sont pas sensibles à la casse. Si la valeur de ce paramètre est "true", la comparaison n'est pas sensible à la casse, sinon vice versa.

Cette méthode renvoie vrai si les zones spécifiées des deux chaînes correspondent, sinon elle renvoie faux.

L'exemple suivant fait référence à l'utilisation de cette méthode -

String str1 = "Hello, world!";
String str2 = "HELLO, WORLD!";
boolean match1 = str1.regionMatches(0, str2, 0, 12, false); // match1 is false
boolean match2 = str1.regionMatches(true, 0, str2, 0, 12); // match2 is true

Algorithme

  • Initialisez la variable str

  • avec une chaîne
  • Initialisez un autre mot variable avec la chaîne à rechercher, d'index -1.

  • À l'aide d'une boucle for, utilisez la méthode "regionMatches()" pour trouver l'index et imprimer la valeur.

示例

在此示例中,初始化了两个带有字符串的变量,并初始化了一个带有 -1 的 lastIndex 变量。然后我们从字符串的最后一个开始迭代,每次迭代时,我们使用“regionMatches()”方法检查字符串区域是否与搜索字符串匹配,如果匹配,则该方法返回 true,因此我们可以存储 lastIndex 值并打印值。

//Java program to find the last index of a particular word in a string
import java.util.*;
public class Main {
   public static void main(String[] args) {
      String str = "Monkey eats banana";
      String word = "eats";   
      int index = -1;
      for(int i = str.length() - word.length(); i >= 0; i--) {
         if(str.regionMatches(i, word, 0, word.length())) {
            index = i;
            break;
         }
      }
      System.out.println("Last index  is " + index);
   }
} 

输出

Last index  is 7

因此,我们在本文中讨论了查找字符串中特定单词的最后位置的不同方法。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer