Стажировка
Открыта запись на бесплатный пробный месяц! Жми для подробностей! →
365 of 1310 menu
Бесплатный курс по Верстке. От новичка до продвинутого верстальщика! Мы уже начали, но можно присоединится! Жми для записи!

Функция chunked

Функция chunked разбивает исходную строку на части (чанки) указанного размера и возвращает их в виде списка. Если длина строки не делится нацело на размер чанка, последний элемент списка будет содержать оставшиеся символы.

Синтаксис

fun String.chunked(size: Int): List<String>
fun <R> String.chunked( size: Int, transform: (CharSequence) -> R ): List<R>

Пример

Разобьем строку "abcdefgh" на части по 3 символа:

val str = "abcdefgh" val res = str.chunked(3) println(res)

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

[abc, def, gh]

Пример

Разобьем строку "12345" на части по 2 символа:

val str = "12345" val res = str.chunked(2) println(res)

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

[12, 34, 5]

Пример

Использование функции преобразования для конвертации каждого чанка в верхний регистр:

val str = "abcdef" val res = str.chunked(2) { it.toString().uppercase() } println(res)

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

[AB, CD, EF]

Пример

Преобразование каждого чанка в число и вычисление суммы чисел:

val str = "123456" val res = str.chunked(2) { it.toString().toInt() } val sum = res.sum() println("Chunks: $res") println("Sum: $sum")

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

Chunks: [12, 34, 56] Sum: 102

Пример

Если размер чанка больше длины строки, возвращается список с одним элементом:

val str = "abc" val res = str.chunked(5) println(res)

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

[abc]

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

  • функцию windowed,
    которая создает скользящее окно над строкой
  • функцию split,
    которая разбивает строку по разделителю
  • функцию take,
    которая возвращает первые n символов строки
  • функцию takeLast,
    которая возвращает последние n символов строки