CodeGym /Java Blog /Willekeurig /Java String lastIndexOf()-methode
John Squirrels
Niveau 41
San Francisco

Java String lastIndexOf()-methode

Gepubliceerd in de groep Willekeurig
De methode lastIndexOf() retourneert de positie van de laatste keer dat een opgegeven teken of een subtekenreeks in een tekenreeks voorkomt. Stel je voor dat je een soort lange tekst hebt, of liever een lange regel. Het kan bijvoorbeeld een brief zijn en u moet de plaats vinden waar de laatste oproep naar de geadresseerde plaatsvindt met de naam die u al kent. Voor dergelijke gevallen is de methode indexOf van de klasse Java String zeer geschikt. Als u het eerste voorkomen van een teken in een tekenreeks nodig hebt, kunt u de methode indexOf() gebruiken , deze lijkt sterk op lastIndexOf() . Er zijn vier varianten van de lastIndexOf()methode. Het hebben van vier methoden met dezelfde naam maar verschillende parameters is mogelijk vanwege overbelasting van de methode. Hieronder zullen we alle vier varianten van deze methode met voorbeelden bekijken.

lastIndexOf(int ch)

Deze methode retourneert de index van het laatste voorkomen van het teken in de tekenreeks.

Syntaxis van de methode


int lastIndexOf(int ch)
Parameter: ch : een teken.

Codevoorbeeld


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));
       }
}
De uitvoer is:
Laatste index van d = 37
Als het karakter dat we zoeken niet in onze string staat, retourneert de methode -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));
       }
}
De uitvoer is:
Laatste index van z = -1

lastIndexOf​(int ch, int fromIndex)

lastIndexOf(int ch, int fromIndex) : Als dit teken wordt weergegeven in de tekenreeks, retourneert deze methode de index van de laatste keer dat het ch-teken voorkomt, waarbij achteruit wordt gezocht vanaf de opgegeven index. als dit teken niet wordt weergegeven in een subtekenreeks, retourneert het -1.

Syntaxis van de methode


public int lastIndexOf(int ch, int fromIndex)
Parameters: ch : een karakter. fromIndex : de index om de zoekopdracht mee te starten.

Codevoorbeelden van 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));
   }
}
De uitvoer is:
Laatste index van o = 19
Als bij het passeren van de index naar het begin van de regel het teken niet wordt aangetroffen, retourneert de methode -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));
   }
}
De uitvoer is:
Laatste index van o = -1

lastIndexOf(String str)

lastIndexOf(String str) : deze variant van de methode accepteert een tekenreeks als een argument en retourneert de index binnen deze tekenreeks van de eerste keer dat de opgegeven subtekenreeks voorkomt. Als het niet voorkomt als een subtekenreeks, retourneert de methode -1.

Syntaxis van de methode


public int lastIndexOf(String str)
Parameters: str : een tekenreeks.

Codevoorbeelden van 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"));
   }
}
De uitvoer is:
14
Als zo'n subtekenreeks niet bestaat, retourneert de methode -1. Laten we proberen een index te vinden van het begin van de substring "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"));
   }
}
Onthoud dat "T" en 't' verschillende symbolen zijn, dus er is geen "tom" in deze string. Hier is de uitvoer:
-1

lastIndexOf(String str, int fromIndex)

lastIndexOf(String str, int fromIndex) . Deze variant van de methode retourneert de index binnen deze tekenreeks van de laatste keer dat de opgegeven subtekenreeks voorkomt, waarbij achteruit wordt gezocht vanaf de opgegeven index.

Syntaxis van de methode


public int lastIndexOf(String str, int beg)
Parameters str : een tekenreeks. fromIndex : de index om de zoekopdracht mee te starten.

Codevoorbeelden van lastIndexOf(String str, int fromIndex)

Laten we proberen de index te vinden van het laatste voorkomen van de subtekenreeks "ro" in de tekenreeks "Dit is majoor Tom naar grondcontrole, kopieer je". De eerste keer gaan we door de hele string, de tweede keer beginnen we met karakter met index 25 (zoals we ons herinneren, gaat het zoeken naar de index met de bovenste beperking van het einde naar het begin).

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));
   }
}
De uitvoer is:
32 22
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION