CodeGym /Blog Java /Aleatoriu /Metoda Java String lastIndexOf().
John Squirrels
Nivel
San Francisco

Metoda Java String lastIndexOf().

Publicat în grup
Metoda lastIndexOf() returnează poziția ultimei apariții a unui caracter specificat sau a unui subșir dintr-un șir. Imaginați-vă că aveți un fel de text lung, sau mai degrabă un rând lung. Poate fi, de exemplu, o scrisoare și trebuie să găsiți locul unde are loc ultimul apel către destinatar după numele pe care îl cunoașteți deja. Pentru astfel de cazuri, metoda indexOf a clasei Java String este foarte potrivită. Dacă aveți nevoie de prima apariție a unui caracter într-un șir, puteți utiliza metoda indexOf() , este foarte asemănătoare cu lastIndexOf() . Există patru variante ale lastIndexOf()metodă. Este posibil să aveți patru metode cu același nume, dar cu parametri diferiți din cauza supraîncărcării metodei. Mai jos vom analiza toate cele patru variante ale acestei metode cu exemple.

lastIndexOf(int ch)

Această metodă returnează indexul ultimei apariții a caracterului din secvența de caractere.

Sintaxa metodei


int lastIndexOf(int ch)
Parametru: ch : un caracter.

Exemplu de cod


public class LastIndexOf1 {

       public static void main(String args[])
       {
          //letter to find index in String
           char letter = 'd';
           //String to find an index of a letter
           String myString = "This is major Tom to ground control, do you copy";
           //The index of last appearance of d will be printed
           System.out.println("Last Index of d = " + myString.lastIndexOf(letter));
       }
}
Ieșirea este:
Ultimul indice al lui d = 37
Dacă caracterul pe care îl căutăm nu se află în șirul nostru, metoda returnează -1:

public class LastIndexOf1 {

       public static void main(String args[])
       {
           char letter = 'z';
           String myString = "This is major Tom to ground control, do you copy";
           System.out.println("Last Index of z = " + myString.lastIndexOf(letter));
       }
}
Ieșirea este:
Ultimul indice al lui z = -1

lastIndexOf​(int ch, int dinIndex)

lastIndexOf(int ch, int fromIndex) : Dacă acest caracter este reprezentat în șir, această metodă returnează indexul ultimei apariții a caracterului ch, căutând înapoi începând cu indexul specificat. dacă acest caracter nu este reprezentat în subșir, returnează -1.

Sintaxa metodei


public int lastIndexOf(int ch, int fromIndex)
Parametri: ch : un caracter. fromIndex : indexul de la care începe căutarea.

Exemple de cod pentru lastIndexOf(int ch, int fromIndex)


public class LastIndexOf2 {

   public static void main(String args[])
   {
       //letter to find index in String
       char letter = 'o';
       //String to find an index of a letter
       String myString = "This is major Tom to ground control, do you copy";
       //The index of last appearance of o before 20th symbol will be printed
       System.out.println("Last Index of o = " + myString.lastIndexOf(letter, 20));
   }
}
Ieșirea este:
Ultimul indice al lui o = 19
Dacă, la trecerea de la index la începutul liniei, caracterul nu este întâlnit, metoda va returna -1:

public class LastIndexOf2 {

   public static void main(String args[])
   {
       char letter = 'o';
       String myString = "This is major Tom to ground control, do you copy";
       System.out.println("Last Index of o = " + myString.lastIndexOf(letter, 10));
   }
}
Ieșirea este:
Ultimul indice al lui o = -1

lastIndexOf(String str)

lastIndexOf(String str) : această variație a metodei acceptă un String ca argument și returnează indexul din cadrul acestui șir al primei apariții a subșirului specificat. Dacă nu apare ca subșir, metoda returnează -1.

Sintaxa metodei


public int lastIndexOf(String str)
Parametri: str : un șir.

Exemple de cod pentru lastIndexOf(String str)


public class LastIndexOf3 {
   public static void main(String args[])
   {      
       String myString = "This is major Tom to ground control, do you copy";
       System.out.println( myString.lastIndexOf("Tom"));
   }
}
Ieșirea este:
14
Dacă nu există un astfel de subșir, metoda returnează -1. Să încercăm să găsim un index al începutului subșirului „tom”.

public class LastIndexOf3 {
   public static void main(String args[])
   {

       String myString = "This is major Tom to ground control, do you copy";
       System.out.println( myString.lastIndexOf("tom"));
   }
}
Amintiți-vă că „T” și „t” sunt simboluri diferite, deci nu există „tom” în acest șir. Iată rezultatul:
-1

lastIndexOf(String str, int fromIndex)

lastIndexOf(String str, int fromIndex) . Această variantă a metodei returnează indexul din acest șir al ultimei apariții a subșirului specificat, căutând înapoi începând de la indexul specificat.

Sintaxa metodei


public int lastIndexOf(String str, int beg)
Parametri str : un șir. fromIndex : indexul de la care începe căutarea.

Exemple de cod pentru lastIndexOf(String str, int fromIndex)

Să încercăm să găsim indexul ultimei apariții a subșirului „ro” din șirul „Acesta este Tom major la controlul de la sol, copiezi”. Prima dată vom parcurge întregul șir, a doua oară începem de la caracterul cu indicele 25 (cum ne amintim, cu constrângerea superioară, căutarea indexului merge de la sfârșit la început).

public class LastIndexOf4 {
   public static void main(String[] args) {
       String myString = "This is major Tom to ground control, do you copy";
       System.out.println( myString.lastIndexOf("ro"));
       System.out.println(myString.lastIndexOf("ro",25));
   }
}
Ieșirea este:
32 22
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION