Indexof()-metodi
Määritetyn merkin indeksin etsiminen merkkijonosta
Ensimmäisen tietyn kirjaimen esiintymän indeksin löytämiseksi String-luokka tarjoaa indexOf()-metodin. Tämä metodi on ylikuormitettu ja sillä on useita toteutuksia. Tarkastellaan, mitä kukin niistä tekee:
indexOf(String str)
indexOf(String str) – tässä metodissa parametri määrittää, mitä etsitään. Se voi olla yksittäinen kirjain lainausmerkeissä (""), kirjainjakso tai jopa sana. Tämä metodi palauttaa ensimmäisen esiintymän indeksin annetusta parametrista merkkijonossa. Esimerkiksi etsitään kirjaimen "l" indeksi merkkijonosta "Hello":
Main.java
12345678910111213package 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); } }
Yllä olevassa esimerkissä alustettiin muuttuja index metodilla indexOf("l"). Nyt tämä muuttuja sisältää ensimmäisen "l"-kirjaimen esiintymän indeksin merkkijonossa "Hello".
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex) – ensimmäinen parametri on sama kuin aiemmin, eli määrittää etsittävän arvon.
Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 "l"-kirjaimen esiintymää, ja halutaan löytää toisen esiintymän indeksi. Ensimmäisestä esimerkistä tiedetään, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l"-kirjaimen indeksi:
Main.java
123456789101112131415package 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); } }
Yllä olevassa esimerkissä käytettiin käytännöllisempää lähestymistapaa. Ensimmäisen määritetyn kirjaimen esiintymän sijaintia hyödynnettiin toisen kirjaimen etsimiseen alkaen indeksistä, joka on kasvatettu yhdellä. Näin haku aloitetaan seuraavasta indeksistä ensimmäisen halutun kirjaimen tai kirjainjoukon esiintymän jälkeen.
Lisäksi parametreja String str ja int fromIndex voidaan vaihtaa keskenään.
On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai kirjainjoukkoa, se palauttaa arvon -1. Esimerkiksi:
Main.java
12345678910111213package 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); } }
Kirjaimen "d" etsiminen merkkijonosta "Hello" ei tuottanut tulosta, ja metodi palautti arvon -1. Tätä voidaan hyödyntää ehtojen asettamisessa tai silmukan lopetuskohdan määrittämisessä.
Kuinka löytää viimeinen indeksi merkkijonosta
String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tämä metodi on nimeltään lastIndexOf(). Se toimii samalla periaatteella. Tarkastellaan esimerkkiä, jossa etsitään viimeinen kirjain "l" merkkijonosta "Hello":
Main.java
12345678910111213package 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); } }
Tässä saatiin tulokseksi 3, joka tarkoittaa viimeisen "l"-kirjaimen indeksiä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.63
Indexof()-metodi
Pyyhkäise näyttääksesi valikon
Määritetyn merkin indeksin etsiminen merkkijonosta
Ensimmäisen tietyn kirjaimen esiintymän indeksin löytämiseksi String-luokka tarjoaa indexOf()-metodin. Tämä metodi on ylikuormitettu ja sillä on useita toteutuksia. Tarkastellaan, mitä kukin niistä tekee:
indexOf(String str)
indexOf(String str) – tässä metodissa parametri määrittää, mitä etsitään. Se voi olla yksittäinen kirjain lainausmerkeissä (""), kirjainjakso tai jopa sana. Tämä metodi palauttaa ensimmäisen esiintymän indeksin annetusta parametrista merkkijonossa. Esimerkiksi etsitään kirjaimen "l" indeksi merkkijonosta "Hello":
Main.java
12345678910111213package 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); } }
Yllä olevassa esimerkissä alustettiin muuttuja index metodilla indexOf("l"). Nyt tämä muuttuja sisältää ensimmäisen "l"-kirjaimen esiintymän indeksin merkkijonossa "Hello".
indexOf(String str, int fromIndex)
indexOf(String str, int fromIndex) – ensimmäinen parametri on sama kuin aiemmin, eli määrittää etsittävän arvon.
Toinen parametri määrittää aloitusindeksin, josta haku aloitetaan. Esimerkiksi sanassa "Hello" on 2 "l"-kirjaimen esiintymää, ja halutaan löytää toisen esiintymän indeksi. Ensimmäisestä esimerkistä tiedetään, että ensimmäinen esiintymä on indeksissä 2, joten asetetaan fromIndex-parametriksi 3 ja etsitään toisen "l"-kirjaimen indeksi:
Main.java
123456789101112131415package 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); } }
Yllä olevassa esimerkissä käytettiin käytännöllisempää lähestymistapaa. Ensimmäisen määritetyn kirjaimen esiintymän sijaintia hyödynnettiin toisen kirjaimen etsimiseen alkaen indeksistä, joka on kasvatettu yhdellä. Näin haku aloitetaan seuraavasta indeksistä ensimmäisen halutun kirjaimen tai kirjainjoukon esiintymän jälkeen.
Lisäksi parametreja String str ja int fromIndex voidaan vaihtaa keskenään.
On myös huomioitava, että jos indexOf()-metodi ei löydä määritettyä kirjainta tai kirjainjoukkoa, se palauttaa arvon -1. Esimerkiksi:
Main.java
12345678910111213package 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); } }
Kirjaimen "d" etsiminen merkkijonosta "Hello" ei tuottanut tulosta, ja metodi palautti arvon -1. Tätä voidaan hyödyntää ehtojen asettamisessa tai silmukan lopetuskohdan määrittämisessä.
Kuinka löytää viimeinen indeksi merkkijonosta
String-luokalla on myös metodi, jonka avulla voidaan etsiä merkkijonon lopusta alkaen. Tämä metodi on nimeltään lastIndexOf(). Se toimii samalla periaatteella. Tarkastellaan esimerkkiä, jossa etsitään viimeinen kirjain "l" merkkijonosta "Hello":
Main.java
12345678910111213package 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); } }
Tässä saatiin tulokseksi 3, joka tarkoittaa viimeisen "l"-kirjaimen indeksiä.
Kiitos palautteestasi!