实例方法
split(max
split(maxSplits:omittingEmptySubsequences:whereSeparator:)
按顺序返回集合的最长可能子序列,这些子序列不包含满足给定谓词的元素。
声明
func split(
maxSplits: Int = Int.max,
omittingEmptySubsequences: Bool = true,
whereSeparator isSeparator: (Self.Element) throws -> Bool
) rethrows -> [Self.SubSequence]
返回值
一个子序列数组,从这个集合的元素中分离出来。
参数
maxSplits
拆分集合的最大次数,或者比要返回的子序列数少一。如果返回
maxSplits + 1
子序列,则最后一个是包含剩余元素的原始集合的后缀。maxSplits
必须大于或等于零。默认值为Int.max
。omittingEmptySubsequences
如果
false
,则对于满足isSeparator
谓词的每对连续元素以及满足isSeparator
谓词的集合开头或结尾的每个元素,结果中都会返回一个空子序列。默认值为true
。isSeparator
一个闭包,它接受一个元素作为参数并返回一个布尔值,指示是否应该在该元素处拆分集合。
详述
结果数组最多包含maxSplits + 1
子序列。用于拆分序列的元素不会作为任何子序列的一部分返回。
以下示例显示了使用匹配空格的闭包拆分字符串时 maxSplits
和 omittingEmptySubsequences
参数的效果。 split
的第一次使用返回最初由一个或多个空格分隔的每个单词。
let line = "BLANCHE: I don't want realism. I want magic!"
print(line.split(whereSeparator: { $0 == " " }))
// Prints "["BLANCHE:", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"
第二个示例将1
传递给maxSplits
参数,因此原始字符串只被拆分一次,分成两个新字符串。
print(line.split(maxSplits: 1, whereSeparator: { $0 == " " }))
// Prints "["BLANCHE:", " I don\'t want realism. I want magic!"]"
最后一个示例为omittingEmptySubsequences
参数传递false
,因此返回的数组包含重复空格的空字符串。
print(line.split(omittingEmptySubsequences: false, whereSeparator: { $0 == " " }))
// Prints "["BLANCHE:", "", "", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift UnsafeBufferPointer split(separator:maxSplits:omittingEmptySubsequences:)用法及代码示例
- Swift UnsafeBufferPointer suffix(_:)用法及代码示例
- Swift UnsafeBufferPointer shuffled()用法及代码示例
- Swift UnsafeBufferPointer starts(with:)用法及代码示例
- Swift UnsafeBufferPointer shuffled(using:)用法及代码示例
- Swift UnsafeBufferPointer sorted(by:)用法及代码示例
- Swift UnsafeBufferPointer suffix(from:)用法及代码示例
- Swift UnsafeBufferPointer sorted()用法及代码示例
- Swift UnsafeBufferPointer subscript(_:)用法及代码示例
- Swift UnsafeBufferPointer randomElement()用法及代码示例
- Swift UnsafeBufferPointer min(by:)用法及代码示例
- Swift UnsafeBufferPointer prefix(upTo:)用法及代码示例
- Swift UnsafeBufferPointer firstIndex(of:)用法及代码示例
- Swift UnsafeBufferPointer map(_:)用法及代码示例
- Swift UnsafeBufferPointer indices用法及代码示例
- Swift UnsafeBufferPointer last用法及代码示例
- Swift UnsafeBufferPointer elementsEqual(_:)用法及代码示例
- Swift UnsafeBufferPointer min()用法及代码示例
- Swift UnsafeBufferPointer last(where:)用法及代码示例
- Swift UnsafeBufferPointer prefix(_:)用法及代码示例
- Swift UnsafeBufferPointer lastIndex(of:)用法及代码示例
- Swift UnsafeBufferPointer filter(_:)用法及代码示例
- Swift UnsafeBufferPointer prefix(through:)用法及代码示例
- Swift UnsafeBufferPointer contains(_:)用法及代码示例
- Swift UnsafeBufferPointer isEmpty用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 UnsafeBufferPointer split(maxSplits:omittingEmptySubsequences:whereSeparator:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。