文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   split(maxSplits:omittingEmptySubsequences:whereSeparator:)


インスタンスメソッド


split(maxSplits:omittingEmptySubsequences:
whereSeparator:)


与えられた predicate (述語) を満たす要素を含んでいないコレクションの、可能な最長の部分シーケンスを順番に返します。





宣言


func split(maxSplits: Int = default, omittingEmptySubsequences: Bool = default,
	 whereSeparator isSeparator: (Bound) throws -> Bool) rethrows ->
	 [Range<Bound>]

BoundStrideable に準拠し、Bound.StrideSignedInteger に準拠する場合に使用可能です。


パラメータ


maxSplitsコレクションを分割すべき最大の回数、または返すべき部分シーケンスの数より 1 つ少ない数。maxSplits + 1 個の部分シーケンスが返された場合、最後のものは、残りの要素を含む元のコレクションの接尾辞 (suffix) です。 maxSplits はゼロ以上でなければなりません。デフォルト値は Int.max です。
omittingEmptySubsequencesfalse の場合、isSeparatorpredicate (述語) を満たす連続した要素の各ペアと、isSeparatorpredicate (述語) を満たすコレクションの最初または最後の各要素について、結果に空の部分シーケンスが返されます。デフォルト値は true です。
isSeparator要素を引数として取り、その要素でコレクションを分割するべきかどうかを示すブール値を返すクロージャ。


戻り値


このコレクションの要素から分割された部分シーケンスの配列。


議論


結果の配列は最大 maxSplits + 1 個の部分シーケンスで構成されます。シーケンスを分割するために使用される要素は、部分シーケンスのいかなる一部としても返されません。


以下の例は、空白に一致するクロージャを使用して文字列を分割するときの maxSplits および omittingEmptySubsequences パラメータの効果を示しています。split の最初の使用は、もともと 1 つ以上の空白で区切られていた各単語を返します。


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!"]"


2 番目の例では、maxSplits パラメータに 1 が渡されるため、元の文字列は 一度だけ分割され、2 つの新しい文字列になります。


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!"]"


複雑さ:O(n)、ここで n はコレクションの長さです。


以下も見よ





要素の分割と結合





目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 10.0+
  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)