[Kotlin] 문자열

C____JIN·2022년 11월 13일
0

Kotlin

목록 보기
3/3
post-thumbnail

문자열 템플릿

import java.util.Date

fun main() {
    val name = readLine()
    println("Hello, $name! \n Today is ${Date()}")
}
  • ${}의 중괄호 사이에 문자열을 넣어서 사용할 수 있다.
  • $name과 같이 식이 간단한 변수 참조인 경우 중괄호 생략 가능

로우 문자열

import java.util.Date

fun main() {
    val name = readLine()
    val message = """
        Hello, $name!
        Today is ${Date()}
    """.trimIndent()

    println(message)
}

기본 문자열 연산

문자 인덱스

"Hello!".length       // 6
"Hello!".lastIndex    // 5
val s = "Hello!"
println(s[0])        // H
println(s[5])        // !
println(s[10])        // 잘못된 인덱스

문자열 연결

val s1 = "Hello!"
val s3 = "Hel" + "lo!"
println(s1 == s2) // true  <java : s1.equals(s2)>

Tip)
자바의 ==!= 연산자는 참조 동등성을 비교하기 때문에 실제 문자열 내용을 비교하려면 equals() 메서드를 사용해야 한다.
코틀린에서는 ==가 기본적으로 equals()를 가리키는 편의 문법이기 때문에 ==를 사용하면, 직접 equal()를 호출하므로, 따로 equals()를 호출할 필요가 없다.


코틀린에서 참조 동등성을 쓰려면?

===!== 연산자를 사용하면 된다.

문자열이 제공하는 함수

  • isEmpty(), isNotEmpty() : 문자열이 비어있는지 검사

    "Hello".isEmpty()          // false
    "Hello".isNotEmpty()       // true
  • substring() : 부분 문자열 추출

    "Hello".substring(2)       // "llo"
    "Hello".substring(1, 3)    // "el"
  • endsWith(), startsWith() : 접두사나 접미사인지 검사

    "Hello".startsWith("Hel")  // true
    "Hello".endsWith("lo")     // true
  • indexOf() : 인자로 받은 문자나 문자열이 나타나는 첫번째 인덱스를 반환

    //맨 앞부터 찾기
    "abcabc".indexOf('b')      // 1
    
    //주어진 인덱스부터 찾기
    "abcabc".indexOf('b', 2)   // 4
profile
개발 블로그🌐 개발일지💻

0개의 댓글