Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
365 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция 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 символов строки