English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод indexOf() класса String возвращает индекс первого出现的 указанного символа или подстроки в строке.
Синтаксис метода indexOf() класса String
string.indexOf(int ch, int fromIndex)
или
string.indexOf(string str, int fromIndex)
Чтобы найти индекс символа, функция indexOf() использует следующие два параметра:
ch - Символ, для которого нужно найти начальный индекс
fromIndex(Опционально) - Если передан fromIndex, то поиск начинается с этого индекса в строке ch
Чтобы найти индекс указанной подстроки в строке, indexOf() использует следующие два параметра:
str - Строка, для которой нужно найти начальный индекс
fromIndex(Опционально) - Если передан fromIndex, то поиск начинается с этого индекса в строке str
Возвращает индекс первого совпадения указанного символа/строки
Если找不到指定的 символ/строку, тоВозвращает -1.
//indexOf() в строке Java имеет только один параметр class Main { public static void main(String[] args) { String str1 = "Learn Java"; int result; //Получить индекс символа "J" result = str1.indexOf('J'); System.out.println(result); // 6 //Вернуть индекс первого出现的 "a" result = str1.indexOf('a'); System.out.println(result); // 2 //Символ не содержится в строке result = str1.indexOf('j'); System.out.println(result); // -1 //Получить индекс "ava" result = str1.indexOf("ava"); System.out.println(result); // 7 //Подстрока не содержится в строке result = str1.indexOf("java"); System.out.println(result); // -1 //Индекс пустой строки в строке result = str1.indexOf(""); System.out.println(result); // 0 } }
Объяснение:
Символ "a" встречается несколько раз в строке "Learn Java". Метод indexOf() возвращает индекс первого出现的 "a" (то есть 2).
Если передается пустая строка, indexOf() возвращает 0 (найден на первом месте). Это потому, что пустая строка является подмножеством каждого подстроки.
class Main { public static void main(String[] args) { String str1 = "Learn Java programming"; int result; //Получить индекс символа "a" //Искать с индекса 4 result = str1.indexOf('a', 4); System.out.println(result); // 7 // Получение индекса "Java" // Поиск начинается с индекса 8 result = str1.indexOf("Java", 8); System.out.println(result); // -1 } }
Объяснение:
Первое出现的 "a" в строке "Learn Java programming" находится в индексе 2. Но, когда str1 возвращает индекс второго "a", используется indexOf('a', 4). Это потому, что поиск начинается с индекса 4.
Строка "Java" находится в строке "Learn Java programming". Но, str1.indexOf("Java",8) возвращает -1 (не найдено строки). Это потому, что поиск начинается с индекса 8, и в " va programming" нет " Java".
Связанное чтение: Java метод lastIndexOf() строки