코틀린

[코틀린 Kotlin] lines - 줄 단위로 split 하여 리스트로 반환

멋쟁휘개발자 2024. 9. 7. 00:09

lines 함수

문자열을 각 줄로 나누어 리스트로 반환

다양한 운영 체제의 줄 바꿈 문자를 자동 처리 (플랫폼에 구애받지 않고 일관되게 작동)


예시 코드

val multilineString = """
    First line
    Second line
    Third line
""".trimIndent()

val lines = multilineString.lines()

// 각 줄을 출력합니다.
for (line in lines) {
    println(line)
}

이 코드는 multilineString을 줄 단위로 나누어 lines 리스트로 변환합니다. 그 결과 각 줄을 개별적으로 처리할 수 있습니다.

 

split("\n")와의 차이점

  • lines(): 다양한 운영 체제에서 줄 바꿈 문자를 자동으로 처리합니다. 즉, Unix 스타일의 \n, Windows 스타일의 \r\n, 그리고 Mac의 오래된 스타일의 \r 등을 인식하여 올바르게 줄을 나눕니다.
  • split("\n"): Unix 스타일의 줄 바꿈 문자만 인식합니다. Windows에서는 \r\n을 사용하므로, split("\n")을 사용할 경우 줄 바꿈이 제대로 처리되지 않을 수 있습니다.

따라서 멀티라인 문자열을 처리할 때 lines 함수를 사용하는 것이 더 안전하고 일관된 결과를 보장합니다.