partition

Common
JVM
JS
Native
1.0
inline fun CharSequence.partition(
    predicate: (Char) -> Boolean
): Pair<CharSequence, CharSequence>

Splits the original char sequence into pair of char sequences, where first char sequence contains characters for which predicate yielded true, while second char sequence contains characters for which predicate yielded false.

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
fun isVowel(c: Char) = "aeuio".contains(c, ignoreCase = true)
val string = "Discussion"
val result = string.partition(::isVowel)
println(result) // (iuio, Dscssn)
//sampleEnd
}
Common
JVM
JS
Native
1.0
inline fun String.partition(
    predicate: (Char) -> Boolean
): Pair<String, String>

Splits the original string into pair of strings, where first string contains characters for which predicate yielded true, while second string contains characters for which predicate yielded false.

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
fun isVowel(c: Char) = "aeuio".contains(c, ignoreCase = true)
val string = "Discussion"
val result = string.partition(::isVowel)
println(result) // (iuio, Dscssn)
//sampleEnd
}