[Kotlin] String에 쓰이는 함수들

2024. 10. 19. 01:33·학습 기록/kotlin
반응형

startsWith() : Boolean

val str = "abc,def/ghi,jkl/mno"

println(str.startsWith("ab")) //true
println(str.startsWith('b')) // false
  • 문자열이 특정 문자열로 시작하는지 검사
  • String, Char를 인자로 받음

indexOf(String) : Int

val str = "abc,def/ghi,jkl/mno"

println(str.indexOf('c')) //2
println(str.indexOf("bc")) //1
println(str.indexOf(",")) //3
println(str.indexOf('z')) //-1
  • 특정 문자열이 포함된 첫번째 index반환
  • 중복 시 첫 번째 특정 문자열의 index 반환
  • 특정 문자열이 존재하지 않으면 -1 반환
  • String, Char를 인자로 받음

substring() : String

val str = "abc,def/ghi,jkl/mno"

println(str.substring(2)) // c,def/ghi,jkl/mno
println(str.substring(0,2)) // ab
println(str.substring(0..2)) // abc
  • 특정 범위에 속하는 문자열 반환
  • IntRange(int...int), (startIndex,endIndex), startIndex를 인자로 받음
    • startIndex = inclusive, endIndex = exclusive
    • 즉 startIndex부터 endIndex 전까지의 문자열을 반환함
    • startIndex만 입력하면 startIndex부터 끝까지를 반환함

substringAfter() : String

val str = "abc,def/ghi,jkl/mno"

println(str.substringAfter("abc,")) // def/ghi,jkl/mno
println(str.substringAfter(',')) // def/ghi,jkl/mno
  • 특정 문자열 다음에 오는 문자열을 반환
  • String, Char를 인자로 받음

splite() : List<String>

val str = "abc,def/ghi,jkl/mno"

println(str.split(',','/')) // [abc, def, ghi, jkl, mno]
    
val regex= "[,/]".toRegex()
println(str.split(regex)) // [abc, def, ghi, jkl, mno]
  • 문자열을 특정 문자(문자열)들로 분할하여 List형태로 반환
  • String, Char, Regex를 인자로 받음.
    • 여러개 입력 가능

 


contains() : Boolean

val str = "abc,def/ghi,jkl/mno"

println(str.contains("bac")) //false
println(str.contains('a')) //true
  • 특정 문자열이 포함되어 있는지 검사
  • Char, String, Regex를 인자로 받음

* 이스케이프 시퀀스

  • 이스케이프 시퀀스는 우리가 흔히 아는 \n(줄바꿈), \t(탭) 등과 같이 키보드로 입력하기 어려운 문자를 포함할 수 있게 해줌
  • 이스케이프 시퀀스를 문자자체로 표현하고 싶다면 역슬래시를 하나 더 붙여주면 된다.
println("abc\tabc") //abc	abc
println("abc\\tabc") //abc\tabc
  • 1번 코드는  \t을 줄바꿈으로 인식하여 출력시 줄바꿈 처리가 된다
  • 2번 코드는 \\n, 역슬래시를 앞에 붙여줌으로써 abc\tabc로 출력이 된다.
    • "\\"는 역슬래시 자체를 문자로 표현하는 이스케이프 시퀀스이기 때문에 "\t"(탭)이 아닌 '\','t'으로 인식하게 해준다.

전체 예시 코드

val str = "abc,def/ghi,jkl/mno"

//startsWith()
println(str.startsWith("ab")) //true
println(str.startsWith('b')) // false

//indexOf()
println(str.indexOf('c')) //2
println(str.indexOf("bc")) //1
println(str.indexOf(",")) //3
println(str.indexOf('z')) //-1

//substring()
println(str.substring(2)) // c,def/ghi,jkl/mno
println(str.substring(0,2)) // ab
println(str.substring(0..2)) // abc

//substringAfter()
println(str.substringAfter("abc,")) // def/ghi,jkl/mno
println(str.substringAfter(',')) // def/ghi,jkl/mno

//split()
println(str.split(',','/')) // [abc, def, ghi, jkl, mno]
    
val regex= "[,/]".toRegex()
println(str.split(regex)) // [abc, def, ghi, jkl, mno]

//contains()
println(str.contains("bac")) //false
println(str.contains('a')) //true

마무리하며

코드 작성하면서 문자열에 대해서 공부했는데 코틀린에 유용한 함수들이 많은 것 같다

새롭게 알게 된 함수들 중에서 자주 쓸거같은 것들만 추려서 정리해봄

 

 

 

반응형

'학습 기록 > kotlin' 카테고리의 다른 글

[Kotlin] 플랫폼 타입(Platform type)  (0) 2025.10.20
[Kotlin] Class - getter, setter  (0) 2024.10.29
[Kotlin] Collection(List, Set, Map)  (1) 2024.10.27
[Kotlin] 반복문(while, for)  (1) 2024.10.20
[Kotlin] 기본 문법  (0) 2024.10.15
'학습 기록/kotlin' 카테고리의 다른 글
  • [Kotlin] Class - getter, setter
  • [Kotlin] Collection(List, Set, Map)
  • [Kotlin] 반복문(while, for)
  • [Kotlin] 기본 문법
BaekCCI
BaekCCI
  • BaekCCI
    BaekLog
    BaekCCI
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 학습 기록
        • 안드로이드
        • 문제풀이
        • kotlin
      • 우아한 테크코스
      • 백씨의 하루
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Android
    Java
    프로그래머스
    백준
    우테코
    우아한테크코스
    Algorithm
    소프티어
    gdg korea
    softeer
    알고리즘
    Kotlin
    androiddeveloper
    코틀린
    i/o extended android
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.6
BaekCCI
[Kotlin] String에 쓰이는 함수들
상단으로

티스토리툴바