Как получить второй, третий и т.д. определенный символ?
Знаю звучит не особо понятно, поэтому я здесь.
В общем допустим у нас есть текст:
String str = "Just an example text";
Тут есть 3 символа "е". Как получить его положение нумерации? Я использовал indexOf, но получается либо первое, либо последнее(lastIndexOf), а именно определенное не знаю как.
=)
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
Вторым аргуметом в метод indexOf вы можете передать индекс fromIndex, начиная с которого нужно выполнить поиск символа.
Поэтому вашу задачу можно решить, последовательно вызвав indexOf три раза:
str.indexOf('e', str.indexOf('e', str.indexOf('e') + 1) + 1)
То же самое можно сделать в цикле, сделаем такой метод:
public static int indexOf(String s, char c, int n) {
int fromIndex = -1;
for (int i = 0; i < n; i++) {
fromIndex = s.indexOf(c, fromIndex + 1);
}
return fromIndex;
}
Использование:
indexOf(str, 'e', 3)
Результат:
17