The Java String trieda indexOf() metóda vráti pozíciu prvého výskytu zadaného znaku alebo reťazca v zadanom reťazci.
Podpis
V Jave sú štyri preťažené metódy indexOf(). Podpis metód indexOf() je uvedený nižšie:
Nie | Metóda | Popis |
---|---|---|
1 | int indexOf(int ch) | Vráti pozíciu indexu pre danú hodnotu znaku |
2 | int indexOf(int ch, int fromIndex) | Vráti pozíciu indexu pre danú hodnotu znaku a z indexu |
3 | int indexOf(podreťazec reťazca) | Vráti pozíciu indexu pre daný podreťazec |
4 | int indexOf(podreťazec reťazca, int z indexu) | Vráti pozíciu indexu pre daný podreťazec a z indexu |
Parametre
ch : Ide o znakovú hodnotu, napr. 'a'
z Indexu : Pozícia indexu, odkiaľ sa vracia index hodnoty znaku alebo podreťazca.
podreťazec : Podreťazec, ktorý sa má v tomto reťazci vyhľadať.
Návraty
Index hľadaného reťazca alebo znaku.
Interná implementácia
public int indexOf(int ch) { return indexOf(ch, 0); }
Príklad metódy Java String indexOf().
Názov súboru: IndexOfExample.java
public class IndexOfExample{ public static void main(String args[]){ String s1='this is index of example'; //passing substring int index1=s1.indexOf('is');//returns the index of is substring int index2=s1.indexOf('index');//returns the index of index substring System.out.println(index1+' '+index2);//2 8 //passing substring with from index int index3=s1.indexOf('is',4);//returns the index of is substring after 4th index System.out.println(index3);//5 i.e. the index of another is //passing char value int index4=s1.indexOf('s');//returns the index of s char value System.out.println(index4);//3 }}Vyskúšajte to
Výkon:
2 8 5 3
Pozorujeme, že keď sa nájde hľadaný reťazec alebo znak, metóda vráti nezápornú hodnotu. Ak sa reťazec alebo znak nenájde, vráti sa -1. Túto vlastnosť môžeme použiť na zistenie celkového počtu znakov prítomných v danom reťazci. Všimnite si nasledujúci príklad.
Názov súboru: IndexOfExample5.java
public class IndexOfExample5 { // main method public static void main(String argvs[]) { String str = 'Welcome to JavaTpoint'; int count = 0; int startFrom = 0; for(; ;) { int index = str.indexOf('o', startFrom); if(index >= 0) { // match found. Hence, increment the count count = count + 1; // start looking after the searched index startFrom = index + 1; } else { // the value of index is - 1 here. Therefore, terminate the loop break; } } System.out.println('In the String: '+ str); System.out.println('The 'o' character has come '+ count + ' times'); } }
Výkon:
In the String: Welcome to JavaTpoint The 'o' character has come 3 times
Java String indexOf(String substring) Príklad metódy
Metóda berie ako argument podreťazec a vracia index prvého znaku podreťazca.
Názov súboru: IndexOfExample2.java
public class IndexOfExample2 { public static void main(String[] args) { String s1 = 'This is indexOf method'; // Passing Substring int index = s1.indexOf('method'); //Returns the index of this substring System.out.println('index of substring '+index); } }Vyskúšajte to
Výkon:
index of substring 16
Java String indexOf(String podreťazec, int fromIndex) Príklad metódy
Metóda berie ako argumenty podreťazec a index a vracia index prvého znaku, ktorý sa vyskytuje po danom z Indexu .
Názov súboru: IndexOfExample3.java
public class IndexOfExample3 { public static void main(String[] args) { String s1 = 'This is indexOf method'; // Passing substring and index int index = s1.indexOf('method', 10); //Returns the index of this substring System.out.println('index of substring '+index); index = s1.indexOf('method', 20); // It returns -1 if substring does not found System.out.println('index of substring '+index); } }Vyskúšajte to
Výkon:
index of substring 16 index of substring -1
Java String indexOf(int char, int fromIndex) Príklad metódy
Metóda berie char a index ako argumenty a vracia index prvého znaku, ktorý sa vyskytuje po danom z Indexu .
Názov súboru: IndexOfExample4.java
public class IndexOfExample4 { public static void main(String[] args) { String s1 = 'This is indexOf method'; // Passing char and index from int index = s1.indexOf('e', 12); //Returns the index of this char System.out.println('index of char '+index); } }Vyskúšajte to
Výkon:
index of char 17