Метод String indexOf () возвращает индекс первого вхождения указанного символа / подстроки в строке.
Синтаксис indexOf()
метода String либо
string.indexOf(int ch, int fromIndex)
или
string.indexOf(String str, int fromIndex)
Здесь строка - это объект String
класса.
indexOf () Параметры
Чтобы найти индекс символа, indexOf()
принимает эти два параметра:
- ch - символ, начальный индекс которого должен быть найден
- fromIndex (необязательно) - если
fromIndex
передано,ch
поиск символа начинается с этого индекса
Чтобы найти индекс указанной подстроки в строке, indexOf()
принимает эти два параметра:
- str - строка, начальный индекс которой должен быть найден
- fromIndex (необязательно) - если
fromIndex
передано,str
поиск строки начинается с этого индекса
indexOf () Возвращаемое значение
- возвращает индекс первого вхождения указанного символа / строки
- возвращает -1, если указанный символ / строка не найдена.
Пример 1: Java String indexOf ()
// Java String indexOf() with only one parameter class Main ( public static void main(String() args) ( String str1 = "Learn Java"; int result; // getting index of character 'J' result = str1.indexOf('J'); System.out.println(result); // 6 // the first occurrence of 'a' is returned result = str1.indexOf('a'); System.out.println(result); // 2 // character not in the string result = str1.indexOf('j'); System.out.println(result); // -1 // getting the index of "ava" result = str1.indexOf("ava"); System.out.println(result); // 7 // substring not in the string result = str1.indexOf("java"); System.out.println(result); // -1 // index of empty string in the string result = str1.indexOf(""); System.out.println(result); // 0 ) )
Заметки:
- Этот символ
'a'
встречается в"Learn Java"
строке несколько раз . ВindexOf()
метод возвращает индекс первого вхождения'a'
(который является 2). - Если передана пустая строка,
indexOf()
возвращается 0 (находится в первой позиции. Это потому, что пустая строка является подмножеством каждой подстроки.
Пример 2: indexOf () с параметром fromIndex
class Main ( public static void main(String() args) ( String str1 = "Learn Java programming"; int result; // getting the index of character 'a' // search starts at index 4 result = str1.indexOf('a', 4); System.out.println(result); // 7 // getting the index of "Java" // search starts at index 8 result = str1.indexOf("Java", 8); System.out.println(result); // -1 ) )
Заметки:
- Первое вхождение
'a'
в"Learn Java programming"
строку имеет индекс 2. Однако,'a'
когдаstr1.indexOf('a', 4)
он используется, возвращается индекс второго . Это потому, что поиск начинается с индекса 4. "Java"
Строка в"Learn Java programming"
строку. Однакоstr1.indexOf("Java", 8)
возвращает -1 (строка не найдена). Это потому, что поиск начинается с индекса 8 и нет"Java"
in"va programming"
.
Рекомендуемая литература: Java String lastIndexOf ()