split To Sequence
Требования к платформе и версии: Common (1.6), JS (1.6), JVM (1.6), Native (1.6), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun splitToSequence(input: CharSequence, limit: Int = 0): Sequence<String>
Разбивает входную последовательность символов на последовательность строк по совпадениям с этим регулярным выражением.
Последний элемент результирующей последовательности соответствует подпоследовательности входной последовательности, начинающейся сразу после последнего совпадения (или в начале последовательности символов input, если совпадений не было) и заканчивающейся в конце входной последовательности. Это означает, что если входная последовательность не содержит подпоследовательностей, совпадающих с этим регулярным выражением, результирующая последовательность будет содержать один элемент, соответствующий всей входной последовательности. Это также означает, что для последовательностей символов, заканчивающихся совпадением с этим регулярным выражением, результирующая последовательность будет оканчиваться пустой строкой.
Параметры
Неотрицательное значение, задающее максимальное количество подстрок, на которые можно разбить строку. По умолчанию равно нулю, что означает отсутствие ограничения.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
fun Sequence<String>.toPrettyString() = joinToString(", ", "[", "]")
val colors = "green, red , brown&blue, orange, pink&green"
val regex = "[,\\s]+".toRegex()
val mixedColor = regex.splitToSequence(colors)
.onEach { println(it) }
.firstOrNull { it.contains('&') }
println(mixedColor) // brown&blue
val splitNonMatchingInput = regex.splitToSequence("Split_me_if_you_can").toPrettyString()
println(splitNonMatchingInput) // [Split_me_if_you_can]
val splitSurroundedByMatches = regex.splitToSequence(",(-.-),").toPrettyString()
println(splitSurroundedByMatches) // [, (-.-), ]
println("regex.splitToSequence(\"\").toList() == listOf(\"\") is ${regex.splitToSequence("").toList() == listOf("")}") // true
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/-regex/split-to-sequence.html