컴퓨터 언어/코틀린

[Kotlin] 코틀린 String 문자 클래스 객체 활용

훈츠 2020. 2. 18. 17:35
반응형

안녕하세요. 훈츠 입니다. 오늘은 문자열 클래스에 대해 알아보도록 하겠습니다. 

문자열 : 나누기, 대체하기, 합치기 

val telnumber ="010-9898-8989"

var telSplite = telnumber.split("-") //split 나누기 
println(telSplite)
println(telSplite.joinToString("-")) //joinToString 합치기

var tel = telnumber.replace("-","") //replace 대체하기 
println(tel)
println(tel.substring(3..10)) //원하는 영역 보기 

//출력화면
[010, 9898, 8989]  //split 나누기 
010-9898-8989 //joinToString 합치기
01098988989 //replace 대체하기 
98988989 //원하는 영역 보기 

 문자열 판단하기 

    val nullString :String? =null
    val emptyString =""
    val blankString = " "
    val normalString = "A"

    println(nullString.isNullOrEmpty()) //null인지 확인 
    println(emptyString.isEmpty()) //비어있는지 확인 
    println(blankString.isBlank()) //빈칸 인지 확인 
    println(normalString.isNullOrEmpty()) //null인지 혹은 "" 확인 

    println()

    println(nullString.isNullOrBlank())
    println(emptyString.isBlank())
    println(blankString.isNullOrBlank())
    println(normalString.isNullOrBlank())

//출력화면 
true
true
true
false

true
true
true
false

문자열 내부 판단한기 

  • startWith() : 처음에 찾는 문자가 있는지
  • endsWith() : 마지막에 찾는 문자가 있는지 
  • contains() : 찾는 문자가 있는지 
val test3 ="kotlin.kt"
val test4 ="java.java"

println(test3.startsWith("java"))
println(test4.startsWith("java"))

println(test3.endsWith(".kt"))
println(test4.endsWith(".kt"))

println(test3.contains("lin"))
println(test4.contains("lin"))

//출력화면
false
true
true
false
true
false

단어 쪼개고, 합치기 

//println(list)
    var beforeList = mutableListOf<String>()
    val afterList = mutableListOf<String>()

    val test = "[이경훈, 010-4697-3907, 사람]".split(" ")
    println(test)
    
    //단어 쪼깬것, beforeList에 저장 
    val showFilteredList = test.filter {
        beforeList.add(it)
        println("filter: $it");
        it.length > 3;
    }

    //beforeList 에 ", [ ]" 삭제해서 afterList에 저장 
    beforeList.forEach{
        val name = it.replace(",","")
                .replace("[","")
                .replace("]","")
        println(name)
        afterList.add(name)
    }
    
    //체크 
    afterList.forEach{
        print(it)
    }
    
반응형