Функция find
Функция find выполняет поиск первого символа
в строке, который соответствует заданному условию.
В качестве параметра принимает лямбда-функцию
с предикатом поиска. Возвращает найденный символ
или null, если ни один символ не соответствует условию.
Синтаксис
kotlininline fun CharSequence.find(
predicate: (Char) -> Boolean
): Char?
Пример
Найдем первый символ в строке "abcde",
который равен 'c':
kotlinval str = "abcde"
val res = str.find { it == 'c' }
println(res)
Результат выполнения кода:
kotlinChar c
Пример
Найдем первый цифровой символ в строке
"hello123world":
kotlinval str = "hello123world"
val res = str.find { it.isDigit() }
println(res)
Результат выполнения кода:
kotlinChar 1
Пример
Найдем первый символ в верхнем регистре
в строке "hello World":
kotlinval str = "hello World"
val res = str.find { it.isUpperCase() }
println(res)
Результат выполнения кода:
kotlinChar W
Пример
Попробуем найти символ, которого нет в строке.
В этом случае функция вернет null:
kotlinval str = "abcde"
val res = str.find { it == 'z' }
println(res)
Результат выполнения кода:
kotlinnull
Пример
Использование функции с безопасным вызовом
для обработки возможного null результата:
kotlinval str = "abcde"
val foundChar = str.find { it == 'c' }
if (foundChar != null) {
println("Found: $foundChar")
} else {
println("Not found")
}
Результат выполнения кода:
kotlinFound: c