일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- programmers # 프로그래머스 #큰수비교 #cmp_to_key()
- isNullOrBlank
- 컬렉션 함수
- add view
- 코틀린 data class
- 컬렉션함수
- kotlin recyclerview
- 코틀린 중첩클래스
- class
- 카카오 순위검색
- 코틀린 람다함수
- 내용의동일성
- 프로그래머스
- 해시
- kakao blind
- Kotlin Generic
- 코틀린 문자열
- Kotlin
- kotlin addview
- 코틀린 제너릭
- collection function
- 프로그래머스 #탐욕법 #큰수만들기 #join #python
- 코틀린
- 코틀린 컬렉션함수
- lateinit
- 코틀린 내부 클래스
- kotlin collection
- kotlin listview
- 코틀린 lateinit
- 객체의 동일성
- Today
- Total
엔지니어 규의 IT 프로그래밍 다이어리
[Kotlin] 20. 문자열 다루는 방법 본문
우리는 코틀린에서는 'String' 이라는 클래스로 문자열을 다루며, 쌍따옴표 사이에 문자열을 넣어 literal 을 만들면
새 String 객체가 생성되는것을 확인하였다.
코틀린에서는 이 String 클래스와 관련된 여러 속성과 함수가 있는데
그중 자주 쓰이는 것들을 아래 소스코드로 알아보자.
fun main(){
val test1 = "Test.Kotlin.String"
println(test1.length) //18
println(test1.toLowerCase()) // test.kotlin.string
println(test1.toUpperCase()) // TEST.KOTLIN.STRING
val test2 = test1.split(".")
println(test2) // [Test, Kotlin, String]
println(test2.joinToString()) //Test, Kotlin, String
println(test2.joinToString("-")) //Test-Kotlin-String
println(test1.substring(5..10)) // Kotlin -> 5~10 번째 문자열만 출력
}
length : 문자열의 길이를 반환해준다. public override val length 로 코딩되어 있어서 함수가 아니라 val 로 반환이 된다.
toLoserCase() : 문자열을 소문자로 변환한다.
toUpperCase() : 문자열을 대문자로 변환한다.
split(".") : 괄호안의 문자열로 나눠준다.
joinToString() : 문자열을 합쳐준다.
joinToString("-") : 괄호안의 문자열을 중간에 넣어서 합친다.
substring(5..10) : 괄호안의 숫자에 해당되는 문자열만 출력한다.
다음은 문자열이 비어있는지 여부를 판단하여 boolean값으로 반환받는 함수를 알아보자.
fun main(){
val nullstring: String? = null
val emptyString = ""
val blankString = " "
val normalString = "A"
println(nullstring.isNullOrEmpty()) //true
println(emptyString.isNullOrEmpty()) //true
println(blankString.isNullOrEmpty()) //false
println(normalString.isNullOrEmpty()) //false
println()
println(nullstring.isNullOrBlank()) //true
println(emptyString.isNullOrBlank()) //true
println(blankString.isNullOrBlank()) //true
println(normalString.isNullOrBlank()) //false
}
두함수의 차이는 isNullOrEmpty() 는 아무것도 없는 문자열, Empty 상태만 비어있는것으로 보고
isNullOrBlank는 문자열은 있지만 공백문자로만 이루어진 blank 상태도 비어있는 것으로 본다.
공백문자에는 space, tab, line feed, carrige return 등 눈에 직접적으로 보이지 않는 문자들을 포함한다.
조금더 특수한 함수에 대해 알아보도록 하자.
fun main(){
var test3 = "kotlin.kt"
var test4 = "java.java"
println(test3.startsWith("java")) // false
println(test4.startsWith("java")) // true
println(test3.endsWith("kt")) // true
println(test4.endsWith("kt")) // false
println(test3.contains("lin")) // true
println(test4.contains("lin")) // false
}
startsWith() 함수는 시작하는 문자열이 일치하면 true, 아니면 false를 반환하고
endsWith() 함수는 끝나는 문자열이 일치하면 true, 아니면 false 를 반환하고
contains() 함수는 특정 문자열을 포함하면 true, 아니면 false 를 반환한다.
문자열을 다루는 방법은 입력값을 받거나 문자열로 된 자료를 처리 할 때 매우 자주 사용되는 기능이다.
'프로그래밍 언어 > 코틀린' 카테고리의 다른 글
[Kotlin] 22. 함수의 argument를 다루는 방법과 infix 함수 (0) | 2022.05.31 |
---|---|
[Kotlin] 21. Null 값을 처리하는 방법, 변수가 동일한지 확인하는 방법(난이도 : ★★★) (0) | 2022.05.29 |
[Kotlin] 19. 리스트 (0) | 2022.05.29 |
[Kotlin] 18. 제너릭 (0) | 2022.05.24 |
[Kotlin] 17. 클래스의 다형성 (0) | 2022.05.23 |