Функция findLast
Функция findLast
выполняет поиск последнего вхождения
символа или подстроки в исходной строке. Возвращает индекс
последнего вхождения или null
, если искомая подстрока
не найдена. Принимает в качестве параметра символ, строку
или предикат для поиска.
Синтаксис
fun CharSequence.findLast(
char: Char,
ignoreCase: Boolean = false
): Int?
fun CharSequence.findLast(
string: String,
ignoreCase: Boolean = false
): Int?
fun CharSequence.findLast(
predicate: (Char) -> Boolean
): Char?
Пример
Найдем последнее вхождение символа 'c'
в строке "abcde"
:
val str = "abcde"
val res = str.findLast('c')
println(res)
Результат выполнения кода:
Int 2
Пример
Найдем последнее вхождение подстроки "bc"
в строке "abcbcde"
:
val str = "abcbcde"
val res = str.findLast("bc")
println(res)
Результат выполнения кода:
Int 3
Пример
Используем предикат для поиска последней цифры
в строке "a1b2c3"
:
val str = "a1b2c3"
val res = str.findLast { it.isDigit() }
println(res)
Результат выполнения кода:
Char 3
Пример
Поиск с учетом регистра и без учета регистра:
val str = "ABCabc"
val caseSensitive = str.findLast('a')
val ignoreCase = str.findLast('a', ignoreCase = true)
println("Case sensitive: $caseSensitive")
println("Ignore case: $ignoreCase")
Результат выполнения кода:
Case sensitive: 3
Ignore case: 5
Пример
Когда искомая подстрока не найдена, функция возвращает null
:
val str = "abcde"
val res = str.findLast("xyz")
println(res)
Результат выполнения кода:
null
Смотрите также
-
функцию
find
,
которая выполняет поиск первого вхождения -
функцию
indexOf
,
которая также выполняет поиск вхождения в строке -
функцию
lastIndexOf
,
которая ищет последнее вхождение элемента -
функцию
contains
,
которая проверяет наличие подстроки в строке