splitToSequence所在位置是kotlin.text.splitToSequence,其相關用法介紹如下。

用法一

fun CharSequence.splitToSequence(
    vararg delimiters: String, 
    ignoreCase: Boolean = false, 
    limit: Int = 0
): Sequence<String>

將此字符序列拆分為圍繞指定 delimiters 出現的字符串序列。

參數

delimiters- 一個或多個字符串用作分隔符。

ignoreCase-true匹配分隔符時忽略字符大小寫。默認false.

limit-

要返回的最大子字符串數。默認為零表示未設置限製。

為避免在delimiters 中的字符串具有共同字符時產生歧義,此方法從該字符串的開頭到結尾進行,並在每個位置查找與該字符串在該位置匹配的delimiters 中的第一個元素。

用法二

fun CharSequence.splitToSequence(
    vararg delimiters: Char, 
    ignoreCase: Boolean = false, 
    limit: Int = 0
): Sequence<String>

將此字符序列拆分為圍繞指定 delimiters 出現的字符串序列。

參數

delimiters- 一個或多個字符用作分隔符。

ignoreCase-true匹配分隔符時忽略字符大小寫。默認false.

limit- 要返回的最大子字符串數。

用法三

fun CharSequence.splitToSequence(
    regex: Regex, 
    limit: Int = 0
): Sequence<String>

將此字符序列拆分為圍繞給定正則表達式匹配的字符串序列。

例子:

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

fun main(args: Array<String>) {
//sampleStart
val colors = "green, red , brown&blue, orange, pink&green"
val regex = "[,\\s]+".toRegex()

val mixedColor = colors.splitToSequence(regex)
    .onEach { println(it) }
    .firstOrNull { it.contains('&') }

println(mixedColor) // brown&blue
//sampleEnd
}

輸出:

green
red
brown&blue
brown&blue

參數

limit- 指定要返回的最大子字符串數的非負值。默認為零表示未設置限製。