프로그래밍/Scala

[Scala -> Kotlin Converting] String.slice() 비교

@코린이 2023. 4. 17. 12:06

Scala 프로젝트를 Kotlin 프로젝트로 컨버팅하는 과정에서 알게된 사항들 정리

 

Converting 필요한 Scala 코드

val pre = "PREFIX:"
val str = "PREFIX:test"
str.slice(pre.length, str.length)	// test

Scala의 slice() 함수를 이용하여 특정 문자열에서 잘라내기

Converting 한 Kotlin 코드

val pre = "PREFIX:"
val str = "PREFIX:test"
str.substring(pre.length, str.length)	// test

 

 

정리

Scala - slice()

/* from <= indexOf(x) < until */
override def slice(from: Int, until: Int): String

Kotlin - slice()

public fun String.slice(indices: IntRange): String {
    if (indices.isEmpty()) return ""
    return substring(indices)
}

Kotlin - substring()

/**
* startIndex <= indexOf(x) < endIndex
*/
public actual inline fun String.substring(startIndex: Int, endIndex: Int): String

예시

val pre = "PREFIX:"
val str = "PREFIX:test"
str.slice(pre.length..str.length-1)	// test
Str.substring(pre.length, str.length)	// test
Str.substring(pre.length)	// test