Cursusinhoud
Java Uitgebreid
Java Uitgebreid
Indexof() Methode
Hoe vind je de index van een opgegeven teken in een String?
Om de index van het eerste voorkomen van een specifiek teken te vinden, biedt de klasse String
de methode indexOf()
. Deze methode is overladen en heeft verschillende implementaties. Laten we begrijpen wat elk van deze doet:
indexOf(String str)
indexOf(String str)
- in deze methode specificeert de parameter waarnaar we zoeken. Dit kan een enkele letter zijn tussen dubbele aanhalingstekens (""
), een reeks letters of zelfs een woord. Deze methode geeft de index terug van het eerste voorkomen van de opgegeven parameter in de string. Bijvoorbeeld, laten we de index zoeken van de letter "l"
in de string "Hello"
:
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); } }
In het bovenstaande voorbeeld hebben we de variabele index
geïnitialiseerd met de methode indexOf("l")
. Nu bevat deze variabele de index van het eerste voorkomen van de letter "l"
in de string "Hello"
.
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex)
- de eerste parameter is hetzelfde als hiervoor en specificeert waarnaar we zoeken.
De tweede parameter bepaalt de startindex vanaf waar we beginnen met zoeken. Bijvoorbeeld, in het woord "Hello"
komt de letter "l"
2 keer voor, en we willen de index van het tweede voorkomen vinden. Uit het eerste voorbeeld weten we dat het eerste voorkomen op index 2
staat, dus laten we de parameter fromIndex
instellen op 3 en de index van de tweede "l"
zoeken:
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); } }
In het bovenstaande voorbeeld is een meer praktische benadering toegepast. De locatie van het eerste voorkomen van de opgegeven letter is gebruikt om naar de tweede letter te zoeken, te beginnen vanaf de met 1 verhoogde index. Op deze manier start de zoekopdracht vanaf de volgende index na het eerste voorkomen van de gewenste letter of reeks letters.
Bovendien kunnen de parameters String str
en int fromIndex
worden omgewisseld.
Het is ook belangrijk op te merken dat als de methode indexOf()
de opgegeven letter of reeks letters niet vindt, de waarde -1
wordt geretourneerd. Bijvoorbeeld:
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); } }
Het zoeken naar de letter "d"
in de string "Hello"
leverde geen resultaat op, en de methode retourneerde -1
. Dit kan nuttig zijn voor het instellen van voorwaarden of het creëren van een uitstappunt uit een lus.
Hoe de laatste index in de string te vinden
String
heeft ook een methode waarmee vanaf het einde van de string gezocht kan worden. Deze methode heet lastIndexOf()
. Ze werkt volgens hetzelfde principe. Laten we een voorbeeld bekijken van het vinden van het laatste voorkomen van de letter "l"
in de string "Hello"
:
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 kregen we als resultaat 3
, wat de index is van het laatste voorkomen van de letter "l"
.
Bedankt voor je feedback!