Функция findLast

Функция findLast выполняет поиск последнего вхождения символа или подстроки в исходной строке. Возвращает индекс последнего вхождения или null, если искомая подстрока не найдена. Принимает в качестве параметра символ, строку или предикат для поиска.

Синтаксис

kotlinfun CharSequence.findLast(
  char: Char, 
  ignoreCase: Boolean = false
): Int?
kotlinfun CharSequence.findLast(
  string: String, 
  ignoreCase: Boolean = false
): Int?
kotlinfun CharSequence.findLast(
  predicate: (Char) -> Boolean
): Char?

Пример

Найдем последнее вхождение символа 'c' в строке "abcde":

kotlinval str = "abcde"
val res = str.findLast('c')
println(res)

Результат выполнения кода:

kotlinInt 2

Пример

Найдем последнее вхождение подстроки "bc" в строке "abcbcde":

kotlinval str = "abcbcde"
val res = str.findLast("bc")
println(res)

Результат выполнения кода:

kotlinInt 3

Пример

Используем предикат для поиска последней цифры в строке "a1b2c3":

kotlinval str = "a1b2c3"
val res = str.findLast { it.isDigit() }
println(res)

Результат выполнения кода:

kotlinChar 3

Пример

Поиск с учетом регистра и без учета регистра:

kotlinval str = "ABCabc"

val caseSensitive = str.findLast('a')
val ignoreCase = str.findLast('a', ignoreCase = true)

println("Case sensitive: $caseSensitive")
println("Ignore case: $ignoreCase")

Результат выполнения кода:

kotlinCase sensitive: 3
Ignore case: 5

Пример

Когда искомая подстрока не найдена, функция возвращает null:

kotlinval str = "abcde"
val res = str.findLast("xyz")
println(res)

Результат выполнения кода:

kotlinnull

Смотрите также

  • функцию find,
    которая выполняет поиск первого вхождения
  • функцию indexOf,
    которая также выполняет поиск вхождения в строке
  • функцию lastIndexOf,
    которая ищет последнее вхождение элемента
  • функцию contains,
    которая проверяет наличие подстроки в строке