Co to jest ciąg znaków Java IndexOf()?
Jako programista Java na pewno spotkałeś się z koniecznością znalezienia pozycji znaku lub podciągu w ciągu znaków. Java udostępnia wbudowaną metodę o nazwie IndexOf() w klasie String , która pomaga nam w tym zadaniu. Metoda IndexOf() w Javie jest częścią klasy String , czyli klasy Java String IndexOf() , która służy do manipulacji ciągami znaków. Metoda IndexOf() w Javie zwraca pozycję pierwszego wystąpienia znaku lub podłańcucha w danym ciągu. Jeżeli znak lub podciąg nie zostanie znaleziony, metoda zwraca -1.// Here is the syntax of the String indexOf():
public int indexOf(int ch)
public int indexOf(int ch, int fromIndex)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
Przyjrzyjmy się różnym sposobom użycia metody „indexOf()”.
Znajdowanie pozycji znaku w ciągu:
Załóżmy, że mamy ciąg znaków „Witaj, świecie!” . Aby znaleźć pozycję znaku „o” w ciągu, możemy użyć następującego kodu:public class StringIndexOfExample {
public static void main(String[] args) {
String str = "Hello, world!";
// We will use Str.indexOf here
int position = str.indexOf('o');
System.out.println("Position of 'o' in the string is: " + position);
}
}
Wyjście
Pozycja „o” w ciągu znaków to: 4
W powyższym kodzie najpierw zadeklarowaliśmy ciąg znaków „Witaj, świecie!” a następnie użył metody IndexOf() do znalezienia pozycji znaku „o” w ciągu znaków. Metoda zwróciła pozycję 4, która jest pierwszym wystąpieniem znaku „o” w ciągu.
Znajdowanie pozycji znaków w ciągu
Oto przykładowy fragment kodu demonstrujący sposób użycia metody IndexOf() do znalezienia pozycji znaków w ciągu znaków:public class StringIndexOfExample {
public static void main(String[] args) {
String str = "Hello, world!";
// We will use Str.indexOf here
int position = str.indexOf('o');
while (position >= 0) {
System.out.println("'o' found at position " + position);
position = str.indexOf('o', position + 1);
}
}
}
Wyjście
„o” znalezione na pozycji 4 „o” znalezione na pozycji 8
W powyższym kodzie najpierw zadeklarowaliśmy ciąg znaków „Witaj, świecie!” a następnie użył metody IndexOf() do znalezienia pozycji znaku „o” w ciągu znaków. Metoda IndexOf() zwraca pozycję pierwszego wystąpienia znaku w ciągu znaków lub -1, jeśli znak nie został znaleziony. Następnie użyliśmy pętli while, aby kontynuować wyszukiwanie znaku „o” w ciągu, wywołując funkcję IndexOf() ze znakiem i następną pozycją początkową jako argumentami. Powtarzamy ten proces, aż funkcja IndexOf() zwróci -1, co oznacza, że w ciągu znaków nie ma już więcej wystąpień tego znaku. W tym przykładzie odkryliśmy, że znak „o” pojawia się na pozycjach 4 i 8 w ciągu „Witaj, świecie!”.
Znajdowanie pozycji podciągu w ciągu
Załóżmy, że mamy ciąg „Java jest popularnym językiem programowania” . Aby znaleźć pozycję podciągu „programowanie” w ciągu, możemy użyć następującego kodu:public class StringIndexOfExample {
public static void main(String[] args) {
String str = "Java is a popular programming language";
// We will use Str.indexOf here
int position = str.indexOf("programming");
System.out.println("Position of 'programming' in the string is: " + position);
}
}
Wyjście
Pozycja „programowania” w ciągu znaków to: 18
W powyższym kodzie najpierw zadeklarowaliśmy ciąg „Java jest popularnym językiem programowania” , a następnie użyliśmy metody IndexOf() do znalezienia pozycji podciągu „programowanie” w ciągu. Metoda zwróciła pozycję 18, która jest pozycją początkową „programowania” podłańcucha w ciągu.
Znajdowanie wszystkich wystąpień znaku lub podciągu w ciągu
Załóżmy, że mamy ciąg znaków „Java jest popularnym językiem programowania. Java jest szeroko stosowana w tworzeniu stron internetowych” . Aby znaleźć wszystkie wystąpienia znaku „a” lub podciągu „Java” w ciągu, możemy użyć następującego kodu:public class StringIndexOfExample {
public static void main(String[] args) {
String str = "Java is a popular programming language. Java is widely used in web development.";
int position = -1;
while ((position = str.indexOf('a', position + 1)) != -1) {
System.out.println("Found 'a' at position: " + position);
}
while ((position = str.indexOf("Java", position + 1)) != -1) {
System.out.println("Found 'Java' at position: " + position);
}
}
}
Wyjście
Znaleziono „a” na pozycji: 1 Znaleziono „a” na pozycji: 3 Znaleziono „a” na pozycji: 8 Znaleziono „a” na pozycji: 15 Znaleziono „a” na pozycji: 23 Znaleziono „a” na pozycji: 31 Znaleziono „ a' na pozycji: 35 Znaleziono 'a' na pozycji: 41 Znaleziono 'a' na pozycji: 43 Znaleziono 'Java' na pozycji: 0 Znaleziono 'Java' na pozycji: 40
W powyższym kodzie najpierw zadeklarowaliśmy ciąg „Java jest popularnym językiem programowania. Java jest szeroko stosowany w tworzeniu stron internetowych”, a następnie użyliśmy metody indeksOf() w celu znalezienia wszystkich wystąpień znaku „a” lub podciągu „Java” w sznurku. Użyliśmy pętli while do iteracji po wszystkich wystąpieniach znaku lub podłańcucha, aż metoda IndexOf() zwróci -1, co oznacza, że nie ma już więcej wystąpień znaku lub podłańcucha w ciągu.
GO TO FULL VERSION