Функция filter

Функция filter применяется к строкам и выполняет фильтрацию символов по заданному условию. Она принимает предикат - лямбда-функцию, которая определяет, должен ли символ быть включен в результирующую строку. Возвращает новую строку, содержащую только те символы, которые удовлетворяют условию предиката.

Синтаксис

kotlininline fun String.filter(
  predicate: (Char) -> Boolean
): String

Пример

Отфильтруем только цифры из строки:

kotlinval text = "a1b2c3d4e5"
val res = text.filter { it.isDigit() }
println(res)

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

kotlinString "12345"

Пример

Отфильтруем только буквы из строки:

kotlinval text = "a1b2c3d4e5"
val res = text.filter { it.isLetter() }
println(res)

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

kotlinString "abcde"

Пример

Отфильтруем только строчные буквы из строки:

kotlinval text = "AbCdEfG"
val res = text.filter { it.isLowerCase() }
println(res)

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

kotlinString "bdf"

Пример

Отфильтруем только определенные символы с помощью условия:

kotlinval text = "abcde12345"
val res = text.filter { it == 'a' || it == '3' || it == '5' }
println(res)

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

kotlinString "a35"

Пример

Удалим все пробелы из строки:

kotlinval text = "a b c d e"
val res = text.filter { !it.isWhitespace() }
println(res)

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

kotlinString "abcde"

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

  • функцию take,
    которая возвращает первые n символов строки
  • функцию takeLast,
    которая возвращает последние n символов строки
  • функцию drop,
    которая удаляет первые n символов строки
  • функцию dropLast,
    которая удаляет последние n символов строки