관리 메뉴

Kyung_Development

kotlin 문자열 처리 종류별, .last() 본문

android/Kotlin

kotlin 문자열 처리 종류별, .last()

Kyung_Development 2025. 1. 16. 17:06

Kotlin에서 문자열을 처리하는 다양한 방법과 관련 메서드/기능을 아래에 정리했습니다. 각 방법별로 예시도 함께 제공합니다.


1. 문자열 선언

  • Raw String (다중 라인 지원)
  • Escaped String
// Escaped String
val singleLine = "Hello, Kotlin!\nWelcome to string handling."

// Raw String
val rawString = """
    Hello, Kotlin!
    This is a raw string example.
    You can preserve line breaks.
""".trimIndent()

2. 문자열 템플릿

  • 변수나 표현식을 문자열에 직접 삽입 가능.
val name = "Kotlin"
val version = 1.8
val message = "Hello, $name! Version: $version"
val calculation = "2 + 2 = ${2 + 2}" // 표현식 삽입
println(message)
println(calculation)

3. 문자열 길이

  • length 속성을 사용.
val str = "Kotlin"
println("Length of '$str': ${str.length}")

4. 문자열 대소문자 변환

  • toUpperCase() / toLowerCase() 사용.
val text = "Hello Kotlin"
println(text.toUpperCase()) // HELLO KOTLIN
println(text.toLowerCase()) // hello kotlin

5. 문자열 비교

  • ==와 equals를 사용.
  • equals는 대소문자 무시 여부 설정 가능.
val str1 = "Kotlin"
val str2 = "kotlin"
println(str1 == str2) // false
println(str1.equals(str2, ignoreCase = true)) // true

6. 부분 문자열 추출

  • substring(startIndex) 또는 substring(startIndex, endIndex).
val text = "Hello, Kotlin!"
println(text.substring(7)) // Kotlin!
println(text.substring(0, 5)) // Hello

7. 문자열 포함 여부

  • contains, startsWith, endsWith.
val text = "Kotlin programming"
println(text.contains("program")) // true
println(text.startsWith("Kot")) // true
println(text.endsWith("ing")) // true

8. 문자열 분리

  • split 사용.
val csv = "apple,banana,orange"
val fruits = csv.split(",")
println(fruits) // [apple, banana, orange]

9. 문자열 합치기

  • + 연산자 또는 joinToString.
val part1 = "Hello"
val part2 = "World"
println(part1 + ", " + part2 + "!") // Hello, World!

val words = listOf("Kotlin", "is", "fun")
println(words.joinToString(" ")) // Kotlin is fun

10. 문자열 치환

  • replace, replaceFirst.
val text = "Kotlin is a great language"
println(text.replace("great", "fantastic")) // Kotlin is a fantastic language
println(text.replaceFirst("is", "was")) // Kotlin was a great language

11. 공백 제거

  • trim, trimStart, trimEnd.
val text = "   Kotlin   "
println(text.trim()) // Kotlin
println(text.trimStart()) // "Kotlin   "
println(text.trimEnd()) // "   Kotlin"

12. 빈 문자열 체크

  • isEmpty와 isBlank.
val emptyString = ""
val blankString = "   "
println(emptyString.isEmpty()) // true
println(blankString.isBlank()) // true

13. 문자열 반복

  • repeat.
val repeated = "Kotlin".repeat(3)
println(repeated) // KotlinKotlinKotlin

14. 문자열 패턴 매칭

  • 정규식 사용.
val text = "123-456-7890"
val regex = "\\d{3}-\\d{3}-\\d{4}".toRegex()
println(text.matches(regex)) // true

15. 문자열 변환

  • 숫자 또는 다른 형식으로 변환.
val numberString = "123"
val number = numberString.toInt()
println(number + 1) // 124

val floatString = "3.14"
val pi = floatString.toDouble()
println(pi) // 3.14




Kotlin에서 .last()는 **컬렉션(Collection) 또는 문자열(String)**의 마지막 요소를 반환하는 함수입니다. 아래에 문자열에 .last()를 사용하는 방법과 예시를 정리했습니다.


1. last() 사용 예시

  • 문자열의 마지막 문자 반환.
val text = "Kotlin"
println(text.last()) // n

2. 빈 문자열에서의 동작

  • 빈 문자열에서 last()를 호출하면 예외(NoSuchElementException)가 발생합니다.
    • 예외 방지 방법: lastOrNull()을 사용하면 안전하게 처리 가능합니다.
val emptyText = ""
// println(emptyText.last()) // 예외 발생!
println(emptyText.lastOrNull()) // null

3. 조건을 사용한 last

  • 특정 조건을 만족하는 마지막 요소를 가져오고 싶다면 last { predicate }를 사용합니다.
val text = "Kotlin Programming"
val lastVowel = text.last { it in "aeiouAEIOU" }
println(lastVowel) // i

4. 문자열에서 인덱스와 함께 사용

  • 문자열에서 마지막 문자의 인덱스가 필요한 경우 text.length - 1을 활용.
val text = "Kotlin"
val lastChar = text[text.length - 1] // 마지막 문자
println(lastChar) // n

5. last()와 lastOrNull()의 차이

  • last(): 조건을 만족하는 요소가 없거나, 컬렉션/문자열이 비어있으면 예외 발생.
  • lastOrNull(): 조건을 만족하는 요소가 없거나, 컬렉션/문자열이 비어있으면 null 반환.
val text = "Kotlin"
println(text.lastOrNull { it == 'x' }) // null
println(text.last { it in "Kotlin" }) // n

6. .last()와 컬렉션과의 연관성

  • 문자열뿐만 아니라, 리스트(List), 배열(Array) 같은 컬렉션에서도 last()를 동일하게 사용할 수 있습니다.
val list = listOf(1, 2, 3, 4)
println(list.last()) // 4

val array = arrayOf("A", "B", "C")
println(array.last()) // C

요약

  • last(): 마지막 요소를 반환.
  • lastOrNull(): 안전한 대안으로, 요소가 없을 경우 null 반환.
  • 조건 기반 last {}: 특정 조건을 만족하는 마지막 요소를 반환.