알고리즘 풀때 스트링을 자주쓰는 편인데 코틀린 String에 대해 잘 안나와 있어 코틀린 사이트에서 추려서 정리해봤다

앞 뒤문자를 짜르는 명령어가 필요했는데 결국 substring을 이용해서 만들었다고 한다.

drop 은 문자열의 앞이나 뒷부분을 자를 때 사용된다.

내부적으로는 substring 으로 구현되어 있다.

  • drop : 앞에서부터 n 개의 문자를 제거한 String 을 반환
  • dropLast: 뒤에서부터 n 개의 문자를 제거
  • dropWhile, dropLastWhile: 조건을 만족하지 않는 문자가 나올때까지 제거
  • 파이썬같이 insert나 append를 찾고 싶었어나 배열은 자료구조상 안된 arrayList에서는 가능한것 같음.
val length: Int, length : Returns the length of this character sequence.
fun compareTo(other: String): Int compare() : 스트링을 비교해서 같으면 0 다르면 차이를 int로 리턴
fun equals(other: Any?): Boolean equals(): 스트링을 비교해서 같으면 true 리턴
fun get(index: Int): Char get(idx): 지정된 index의 문자를 리턴
fun hashCode(): Int hashCode() 문자열의 해시코드를 생성
operator fun plus(other: Any?): String 2개의 스트링을 합쳐주는 연산자
fun subSequence(start: Int, end: Int): CharSequence 지정된 범위의 Char Sequence를 리턴
fun toString(): String 스트링을 리턴 ?
val String.cstr: CValues<ByteVar>  
val CharSequence.indices: IntRange Returns the range of valid character indices for this char sequence.
val CharSequence.lastIndex: Int 스트링의 마지막 문자의 인덱스를 리턴 비었으면 -1 리턴
val String.utf16: CValues<UShortVar> utf8 utf16 utf32등도 있다.
val String.wcstr: CValues<UShortVar>  
fun CharSequence.all(predicate: (Char) -> Boolean): Boolean Returns true if all characters match the given predicate.
fun CharSequence.any(): Boolean Returns true if char sequence has at least one character.
fun CharSequence.asIterable(): Iterable<Char> Creates an Iterable instance that wraps the original char sequence returning its characters when being iterated.
fun CharSequence.asSequence(): Sequence<Char> Creates a Sequence instance that wraps the original char sequence returning its characters when being iterated.
fun <K, V> CharSequence.associate(
    transform: (Char) -> Pair<K, V>
): Map<K, V>
associate
Returns a Map containing key-value pairs provided by transform function applied to characters of the given char sequence.
fun String.capitalize(locale: Locale): String  
fun String.decapitalize(locale: Locale): String  
fun CharSequence.chunked(size: Int): List<String> 지정된 사이즈로 문자시퀀스를 짤라 리스트를 만든다.
operator fun CharSequence.contains(
    other: CharSequence,
    ignoreCase: Boolean = false
): Boolean
문자열이 자신에게 포함되어 있는지
fun CharSequence.count(): Int 스트링길이
fun String.drop(n: Int): String 앞 문자를 n개 지운 스트링을 리턴한다
fun String.dropLast(n: Int): String 마지막 문자부터 n개 지운 스트링을 리턴한다.
fun String.dropWhile(predicate: (Char) -> Boolean): String 앞에서 부터 조건대로 문자를 제거
fun String.dropLastWhile(
    predicate: (Char) -> Boolean
): String
뒤에서 부터 조건대로 문자를 제거
val string = "<<<First Grade>>>"
println(string.drop(6)) // st Grade>>>
println(string.dropLast(6)) // <<<First Gr
println(string.dropWhile { !it.isLetter() }) // First Grade>>>, 앞쪽 문자가 아닌걸 제거
println(string.dropLastWhile { !it.isLetter() }) // <<<First Grade, 뒤쪽 문자가 아닌걸 제거
fun String.filter(predicate: (Char) -> Boolean): String Returns a string containing only those characters from the original string that match the given predicate.
fun String.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): String
Returns a string containing only those characters from the original string that match the given predicate.
fun String.filterNot(predicate: (Char) -> Boolean): String Returns a string containing only those characters from the original string that do not match the given predicate.
fun CharSequence.find(predicate: (Char) -> Boolean): Char? find: Returns the first character matching the given predicate, or null if no such character was found.
fun CharSequence.first(): Char Returns the first character.
fun CharSequence.firstOrNull(): Char? Returns the first character, or null if the char sequence is empty.
fun CharSequence.isEmpty(): Boolean Returns true if this char sequence is empty (contains no characters).
operator fun CharSequence.iterator(): CharIterator Iterator for characters of the given char sequence.
fun CharSequence.lines(): List<String> Splits this char sequence to a list of lines delimited by any of the following character sequences: CRLF, LF or CR.
fun <R> CharSequence.map(transform: (Char) -> R): List<R> map: Returns a list containing the results of applying the given transform function to each character in the original char sequence.
fun <R : Comparable<R>> any_iterable<R>.maxOf(selector: (Char) -> R maxOf: Returns the largest value among all values produced by selector function applied to each character in the char sequence.
fun <R : Comparable<R>> any_iterable<R>.minOf(selector: (Char) -> R minOf: Returns the smallest value among all values produced by selector function applied to each character in the char sequence.

끝이 없다. 더 보고 싶은 분은 아래 코틀린 사이트에서 공부하시길

 

 

 

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/

 

String - Kotlin Programming Language

 

kotlinlang.org

 

'Kotlin > String' 카테고리의 다른 글

CharSequence  (0) 2022.09.13
문자열 클래스 String, StringBuffer, StringBuilder  (1) 2022.09.13
StringBuilder  (0) 2022.09.13

+ Recent posts