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