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- 指定要返回的最大子字符串数的非负值。默认为零表示未设置限制。