Метод Java String indexOf

Java String类Класс String в Java


Метод indexOf() имеет следующие четыре формы:

  • public int indexOf(int ch):Возвращает индекс первого вхождения указанного символа в строке или -1, если такого символа в строке нет.

  • public int indexOf(int ch, int fromIndex):Возвращает индекс первого вхождения указанного символа в строке, начиная поиск с позиции fromIndex, или -1, если такого символа в строке нет.

  • int indexOf(String str):Возвращает индекс первого вхождения указанного символа в строке или -1, если такого символа в строке нет.

  • int index(String str, int fromIndex):Возвращает индекс первого вхождения указанного символа в строке, начиная поиск с позиции fromIndex, или -1, если такого символа в строке нет.

Синтаксис

public int indexOf(int ch )

или 

public int indexOf(int ch, int fromIndex)

или 

int indexOf(String str)

или 

int indexOf(String str, int fromIndex)

Parameters

  • ch-- Символ, код Unicode.

  • fromIndex-- Индекс позиции, с которой начинается поиск. Первый символ — 0, второй — 1, и так далее.

  • str-- Подстрока для поиска.

Возвращаемое значение

Найти позицию, в которой строка или код Unicode символа встречается в строке:

Пример 1

public class Main { public static void main(String args[]) { String string = "aaa456ac"; //Найти индекс указанного символа в строке. Если он присутствует, вернуть индекс в строке; если отсутствует, вернуть -1. System.out.println(string.indexOf("b")); //indexOf(String str); возвращаемый результат: -1, "b" не существует //Начать поиск с четвертой позиции символа и далее, включая текущую позицию. System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex); возвращаемый результат: 6 //(Отличие от предыдущего: параметр выше имеет тип String, параметр ниже имеет тип int) Справочные данные: a-97, b-98, c-99 //Поиск с начала, чтобы проверить, существует ли указанный символ. System.out.println(string.indexOf(99));//indexOf(int ch); возвращаемый результат: 7 System.out.println(string.indexOf('c'));//indexOf(int ch); возвращаемый результат: 7 //Искать ch начиная с fromIndex. Это переменная символьного типа, а не строка. Число, соответствующее символу 'a', — 97. System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex); возвращаемый результат: 6 System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex); return result: 6 } }

Результат вывода:

-1
6
7
7
6
6

Индекс первого вхождения указанной подстроки в строке, начиная с указанного индекса.

Пример 2

public class Test { public static void main(String args[]) { String Str = new String("Пример руководства: www.example.com"); String SubStr1 = new String("example"); String SubStr2 = new String("com"); System.out.print("Найти позицию первого вхождения символа o:" ); System.out.println(Str.indexOf( 'o' )); System.out.print("Найти позицию первого вхождения символа o, начиная с 14-й позиции:" ); System.out.println(Str.indexOf( 'o', 14 )); System.out.print("Позиция первого вхождения подстроки SubStr1:" ); System.out.println( Str.indexOf( SubStr1 )); System.out.print("Поиск позиции первого вхождения подстроки SubStr1, начиная с пятнадцатой позиции:" ); System.out.println( Str.indexOf( SubStr1, 15 )); System.out.print("Позиция первого вхождения подстроки SubStr2:" ); System.out.println(Str.indexOf( SubStr2 )); } }

Результат выполнения вышеуказанной программы:

查找字符 o 第一次出现的位置 :12
从第14个位置查找字符 o 第一次出现的位置 :17
子字符串 SubStr1 第一次出现的位置:9
从第十五个位置开始搜索子字符串 SubStr1 第一次出现的位置 :-1
子字符串 SubStr2 第一次出现的位置 :16

Java String类Класс String в Java

Другие расширения