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 함수를 사용하는 것이 더 안전하고 일관된 결과를 보장합니다.
'코틀린' 카테고리의 다른 글
[코틀린 Kotlin] `?:` 엘비스 연산자 vs `?.let` - null 일 때 대체값 vs null이 아닐 때 반환값 (0) | 2024.09.08 |
---|---|
[코틀린 Kotlin] StringBuilder - 문자열 수정/결합 시 기존 버퍼를 수정하는 클래스 (1) | 2024.09.07 |
[코틀린 Kotlin] 조건식, 변수 값 비교에 따른 when 표현식 (0) | 2024.09.07 |
[코틀린 Kotlin] Multiline Strings(여러 줄의 문자열)/trimIndent(들여쓰기 제거)/trimMargin(여백 제거) (0) | 2024.09.06 |
[코틀린 Kotlin] uppercase - 대문자로 변경 (+지정 국가 언어로 변환) (1) | 2024.09.06 |