Функция lines
Функция lines разбивает исходную строку на список строк List, используя в качестве разделителей символы перевода строки. Функция удаляет все символы перевода строки из результата и возвращает список подстрок между ними.
Синтаксис
fun String.lines(): List<String>
Пример
Разделим многострочную строку на отдельные строки:
val text = "First line\nSecond line\nThird line"
val res: List<String> = text.lines()
println(res)
Результат выполнения кода:
List<String> [First line, Second line, Third line]
Пример
Функция корректно обрабатывает различные символы перевода строки, включая Windows-style \r\n:
val text = "Line 1\r\nLine 2\nLine 3"
val res = text.lines()
println(res)
Результат выполнения кода:
List<String> [Line 1, Line 2, Line 3]
Пример
Пустая строка возвращает список с одним пустым элементом:
val text = ""
val res = text.lines()
println(res)
Результат выполнения кода:
List<String> []
Пример
Строка только с символами перевода строки возвращает список пустых строк:
val text = "\n\n\n"
val res = text.lines()
println(res)
Результат выполнения кода:
List<String> [, , , ]
Пример
Получение количества строк в тексте:
val text = "First\nSecond\nThird"
val lineCount = text.lines().size
println(lineCount)
Результат выполнения кода:
Int 3
Пример
Обработка каждой строки отдельно:
val text = "apple\nbanana\ncherry"
text.lines().forEachIndexed { index, line ->
println("Line ${index + 1}: $line")
}
Результат выполнения кода:
Line 1: apple
Line 2: banana
Line 3: cherry