Функция lines

Функция lines разбивает исходную строку на список строк List<String>, используя в качестве разделителей символы перевода строки. Функция удаляет все символы перевода строки из результата и возвращает список подстрок между ними.

Синтаксис

kotlinfun String.lines(): List<String>

Пример

Разделим многострочную строку на отдельные строки:

kotlinval text = "First line\nSecond line\nThird line"
val res: List<String> = text.lines()
println(res)

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

kotlinList<String> [First line, Second line, Third line]

Пример

Функция корректно обрабатывает различные символы перевода строки, включая Windows-style \r\n:

kotlinval text = "Line 1\r\nLine 2\nLine 3"
val res = text.lines()
println(res)

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

kotlinList<String> [Line 1, Line 2, Line 3]

Пример

Пустая строка возвращает список с одним пустым элементом:

kotlinval text = ""
val res = text.lines()
println(res)

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

kotlinList<String> []

Пример

Строка только с символами перевода строки возвращает список пустых строк:

kotlinval text = "\n\n\n"
val res = text.lines()
println(res)

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

kotlinList<String> [, , , ]

Пример

Получение количества строк в тексте:

kotlinval text = "First\nSecond\nThird"
val lineCount = text.lines().size
println(lineCount)

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

kotlinInt 3

Пример

Обработка каждой строки отдельно:

kotlinval text = "apple\nbanana\ncherry"

text.lines().forEachIndexed { index, line ->
  println("Line ${index + 1}: $line")
}

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

kotlinLine 1: apple
Line 2: banana
Line 3: cherry

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

  • функцию split,
    которая разбивает строку по указанному разделителю
  • функцию trim,
    которая удаляет пробельные символы с обоих концов строки
  • функцию isEmpty,
    которая проверяет строку на пустоту
  • функцию isBlank,
    которая проверяет, состоит ли строка только из пробельных символов