Android (Kotlin)

[Kotlin] String 문자열

No.401 2020. 9. 13. 16:50

문자열 기본

var str: String  = "Hello"

//or
var str = "Hello"

var newString: String = 'A' //ERROR
var newString: String = 2 //ERROR

문자열 합치기 기본

var str  = "Hello"
str += "Kotlin Strings"

빈문자열

var s = String() //creates an empty string.

문자열 길이

val str = "Hello Kotlin Strings"
println(str.length) //prints 20

특정 위치 문자 반환

val str = "Hello Kotlin Strings"
println(str.get(0)) //print 'H'
println(str.subSequence(0,5)) //prints Hell

 문자열 비교

var str  = "Hello Kotlin Strings"
var s = String()
s = "Hello KOTLIN Strings"
println(s.compareTo(str)) //prints -32
println(s.compareTo(str,true)) //prints 0

문자열 이스케이프 문자

 

  • \n 개행.
  • \r 캐리지 리턴.
  • \t 탭.
  • \b 역행 키이
  • \" 큰 따옴표
  • \' 작은 따옴표
  • \\ 백 슬래시
  • \$ 달러 – 문자열 주입
var len = str.length
var newStr = "Length of str is ${str.length}"
//or
var newStr = "Length of str is $len"

println(Length of str is ${str.length})

Raw 문자열 (여러줄)

var rawString = """Hi How you're Doing
        I'm doing fine\n.
        I owe you $5.50"""
    print(rawString)

//prints the following
Hi How you're Doing
        I'm doing fine\n. /** \n 은 소용 없음. **/
        I owe you $5.50

Raw 문자열 (여러줄) - 줄바꿈

var rawString = """Hi How you're Doing
        |I'm doing fine.
        |I owe you $5.50""".trimMargin("|")
    print(rawString)
//Prints the following to the console.

Hi How you're Doing
I'm doing fine.
I owe you $5.50

String override

class Student(var name: String, var age: Int)
{

    override fun toString(): String {
        return "Student name is $name and age is $age"
    }
}

//The following code is written inside the main function of the Kotlin class.
var student = Student("Banana", 16)
print(student) //prints Student name is Banana and age is 16

비교 연산

  • Reference Equality  === : 두 개체의 포인터가 동일한 지 확인
  • Structural Equality == : 두 객체의 내용이 동일한 지 확인