Kursinhalt
Java Erweitert
Java Erweitert
Indexof()-Methode
Wie kann der Index eines bestimmten Zeichens in einem String ermittelt werden?
Um den Index des ersten Vorkommens eines bestimmten Zeichens zu finden, stellt die Klasse String
die Methode indexOf()
bereit. Diese Methode ist überladen und verfügt über mehrere Implementierungen. Im Folgenden wird erläutert, was jede davon bewirkt:
indexOf(String str)
indexOf(String str)
– bei dieser Methode gibt der Parameter an, wonach gesucht wird. Es kann sich um einen einzelnen Buchstaben in Anführungszeichen (""
), eine Buchstabenfolge oder sogar ein Wort handeln. Diese Methode gibt den Index des ersten Vorkommens des angegebenen Parameters im String zurück. Zum Beispiel lässt sich der Index des Buchstabens "l"
im String "Hello"
wie folgt ermitteln:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int index = hello.indexOf("l"); // output the index of the first occurrence of "l" System.out.println("First appearance of the letter 'l' is on index " + index); } }
Im obigen Beispiel wurde die Variable index
mit der Methode indexOf("l")
initialisiert. Diese Variable enthält nun den Index des ersten Vorkommens des Buchstabens "l"
im String "Hello"
.
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex)
– der erste Parameter entspricht dem vorherigen und gibt an, wonach gesucht wird.
Der zweite Parameter legt den Startindex fest, ab dem die Suche beginnt. Im Wort "Hello"
kommt der Buchstabe "l"
zweimal vor, und es soll der Index des zweiten Vorkommens gefunden werden. Aus dem ersten Beispiel ist bekannt, dass das erste Vorkommen an Index 2
liegt. Daher wird der Parameter fromIndex
auf 3 gesetzt, um den Index des zweiten "l"
zu ermitteln:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the first appearance of the letter "l" int firstIndex = hello.indexOf("l"); // find the index of the second appearance of the letter "l", starting from the position after the first "l" int secondIndex = hello.indexOf("l", firstIndex + 1); // output the index of the second occurrence of "l" System.out.println("Second appearance of the letter 'l' is on index " + secondIndex); } }
Im obigen Beispiel haben wir einen praktischeren Ansatz gewählt. Wir haben die Position des ersten Vorkommens des angegebenen Buchstabens verwendet, um nach dem zweiten Buchstaben ab dem um 1 erhöhten Index zu suchen. Auf diese Weise beginnen wir die Suche ab dem nächsten Index nach dem Index des ersten Vorkommens des gewünschten Buchstabens oder der gewünschten Buchstabenkombination.
Zusätzlich können die Parameter String str
und int fromIndex
vertauscht werden.
Es ist außerdem zu beachten, dass die Methode indexOf()
den Wert -1
zurückgibt, wenn der angegebene Buchstabe oder die Buchstabenkombination nicht gefunden wird. Zum Beispiel:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the index of the letter "d" in the string int index = hello.indexOf("d"); // output the index, if the specified letter is not found, the value will be -1 System.out.println("Value of index, if it does not find a specified letter: " + index); } }
Die Suche nach dem Buchstaben "d"
in dem String "Hello"
ergab kein Ergebnis, und die Methode gab -1
zurück. Dies kann nützlich sein, um Bedingungen zu setzen oder einen Ausstiegspunkt aus einer Schleife zu schaffen.
Wie man den letzten Index im String findet
Auch String
verfügt über eine Methode, die eine Suche vom Ende des Strings aus ermöglicht. Diese Methode heißt lastIndexOf()
. Sie funktioniert nach demselben Prinzip. Betrachten wir ein Beispiel, um das letzte Vorkommen des Buchstabens "l"
im String "Hello"
zu finden:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String hello = "Hello"; // find the last index of the letter "l" int lastIndex = hello.lastIndexOf("l"); // output the last index where the letter "l" appears System.out.println("Last index of the letter 'l' : " + lastIndex); } }
Hier haben wir das Ergebnis 3
erhalten, was dem Index des letzten Vorkommens des Buchstabens "l"
entspricht.
Danke für Ihr Feedback!