Untersuchen von indexOf()
für die Position einer Teilzeichenfolge
Im vorherigen Schritt haben wir gelernt, wie man mit contains()
prüft, ob ein String eine Teilzeichenfolge enthält. Jetzt wollen wir uns eine weitere nützliche Methode, indexOf()
, anschauen. Diese Methode sagt uns nicht nur, ob eine Teilzeichenfolge existiert, sondern gibt uns auch ihre Startposition innerhalb des Strings an.
Die indexOf()
-Methode in der String
-Klasse von Java gibt den Index der ersten Vorkommens der angegebenen Teilzeichenfolge innerhalb des Strings zurück. Der Index ist die Position des ersten Zeichens der Teilzeichenfolge. Denken Sie daran, dass in der Programmierung die Indizierung normalerweise bei 0 beginnt. Wenn die Teilzeichenfolge nicht gefunden wird, gibt indexOf()
-1 zurück.
Lassen Sie uns die vorherige Java-Datei StringContains.java
ändern, um die indexOf()
-Methode zu verwenden.
-
Öffnen Sie die Datei StringContains.java
im WebIDE-Editor.
-
Ersetzen Sie den gesamten Inhalt der Datei durch den folgenden Code:
public class StringContains {
public static void main(String[] args) {
String sentence = "Java programming is fun and powerful.";
String keyword = "programming";
// Find the index of the keyword
int index = sentence.indexOf(keyword);
System.out.println("Sentence: \"" + sentence + "\"");
System.out.println("Keyword: \"" + keyword + "\"");
if (index != -1) {
System.out.println("The keyword \"" + keyword + "\" was found at index: " + index);
} else {
System.out.println("The keyword \"" + keyword + "\" was not found.");
}
String anotherKeyword = "Python";
int anotherIndex = sentence.indexOf(anotherKeyword);
System.out.println("\nAnother keyword: \"" + anotherKeyword + "\"");
if (anotherIndex != -1) {
System.out.println("The keyword \"" + anotherKeyword + "\" was found at index: " + anotherIndex);
} else {
System.out.println("The keyword \"" + anotherKeyword + "\" was not found.");
}
}
}
In diesem aktualisierten Code:
- Wir verwenden
sentence.indexOf(keyword)
, um den Startindex des keyword
innerhalb des sentence
zu finden. Das Ergebnis wird in einer int
-Variable index
gespeichert.
- Wir verwenden eine
if
-Anweisung, um zu prüfen, ob der zurückgegebene index
-1 ist. Wenn er nicht -1 ist, bedeutet das, dass das Schlüsselwort gefunden wurde, und wir geben seinen Index aus. Andernfalls geben wir eine Nachricht aus, die angibt, dass das Schlüsselwort nicht gefunden wurde.
- Wir wiederholen den Vorgang für "Python", um den Fall zu demonstrieren, in dem die Teilzeichenfolge nicht vorhanden ist.
-
Speichern Sie die Datei (Strg+S oder Cmd+S).
-
Öffnen Sie das Terminal unten in der WebIDE.
-
Stellen Sie sicher, dass Sie sich im Verzeichnis ~/project
befinden.
-
Kompilieren Sie das geänderte Java-Programm:
javac StringContains.java
-
Führen Sie das kompilierte Java-Programm aus:
java StringContains
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Sentence: "Java programming is fun and powerful."
Keyword: "programming"
The keyword "programming" was found at index: 5
Another keyword: "Python"
The keyword "Python" was not found.
Die Ausgabe zeigt, dass "programming" an Index 5 im Satz beginnt (denken Sie daran, dass 'J' an Index 0, 'a' an Index 1 und so weiter steht, einschließlich des Leerzeichens). Sie zeigt auch korrekt an, dass "Python" nicht gefunden wurde.
Die Verwendung von indexOf()
ist eine leistungsstarke Methode, um nicht nur die Anwesenheit einer Teilzeichenfolge zu prüfen, sondern auch ihre genaue Position zu bestimmen, was für verschiedene Zeichenkettenmanipulationstasks nützlich sein kann.