In Java gibt es zur Suche von Strings in größeren Texten/Strings die Funktion indexOf. Wird der Suchstring im Text gefunden, so liefert die Funktion indexOf die aktuelle Position des ersten Vorkommens zurück. Wird der Suchstring nicht gefunden, liefert die Funktion stattdessen den Wert -1. Die Funktion kann auf ein String angewendet werden.

Syntax der verschiedenen indexOf-Funktionen von Java:

  • int indexOf(String str) – Bei str handelt es sich um den zu suchenden String
  • int indexOf(String str, int startPosition) – Der weitere Parameter startPosition gibt an, ab welcher Position im String das nächste Vorkommen von str gesucht werden soll

Beispiele:

Alle Beispiele beziehen sich auf folgenden Ausgangstext:
String mainString = „Das ist ein Test“;

  • int position = mainString.indexOf(“ „); //Bestimmung des ersten Leerzeichens, in diesem Fall 3 (beachten das von 0 an gezählt wird)
  • int position = mainString.indexOf(“ „, 4); //Bestimmung des ersten Leerzeichens nach der 4. Position, in diesem Fall 7
  • int position = mainString.indexOf(„kein“); //Bestimmung des Vorkommens des Wortes ‚kein‘, in diesem Fall wird es nicht gefunden und die Funktion liefert -1
  • int position = mainString.indexOf(„ein“, 9); //Bestimmung des Vorkommens des Wortes ‚ein‘, dabei wird ab der Position 9 gesucht; ab dieser Position wird es nicht gefunden und die Funktion liefert -1

Java bietet zusätzlich noch eine Funktion lastIndexOf mit der ein Suchstring praktisch das letzte Vorkommen eines Strings ermittelt. Diese Funktion funktioniert analog zu indexOf nur das sie nicht den Text von vorn durchläuft, sondern rückwärts.

Syntax der verschiedenen lastIndexOf-Funktionen von Java:

  • int lastIndexOf(String str) – Bei str handelt es sich wieder um den zu suchenden String
  • int lastIndexOf(String str, int startPosition) – Der weitere Parameter startPosition gibt an, ab welcher Position im String das vorherige Vorkommen von str gesucht werden soll

Beispiele:

Alle Beispiele beziehen sich wieder auf folgenden Ausgangstext:
String mainString = „Das ist ein Test“;

  • int position = mainString.lastIndexOf(“ „); //Bestimmung des letzten Leerzeichens, in diesem Fall 11
  • int position = mainString.lastIndexOf(“ „, 10); //Bestimmung des ersten Leerzeichens vor der 10. Position, in diesem Fall 7
  • int position = mainString.lastIndexOf(„kein“); //Bestimmung des Vorkommens des Wortes ‚kein‘, in diesem Fall wird es nicht gefunden und die Funktion liefert -1
  • int position = mainString.lastIndexOf(„ein“, 9); //Bestimmung des letzten Vorkommens des Wortes ‚ein‘, dabei wird vor der Position 9 gesucht; ab dieser Position wird es gefunden und die Funktion liefert 8, obwohl Teile des Suchstring nach der 9.Position liegen. Wichtig ist das der Start vor oder gleich der 9.Position ist.

 Antworten

   
Impressum Suffusion theme by Sayontan Sinha