文書   >   Swift   >   Array   >   split(maxSplits:omittingEmptySubsequences:whereSeparator:)


インスタンスメソッド


split(maxSplits:omittingEmptySubsequences:
whereSeparator:)


与えられた述語を満たす要素を含まないように、コレクションの可能な限り長い部分シーケンスを順番に返します。





宣言


func split(maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true, whereSeparator isSeparator: (Element) throws -> Bool) rethrows -> [ArraySlice<Element>]

パラメータ


maxSplitsコレクションを分割すべき最大回数、または返す部分シーケンスの数より 1 少ない数。maxSplits + 1 個の部分シーケンスが返された場合、最後のものは残りの要素を含む元のコレクションの接尾辞です。maxSplits はゼロ以上でなければなりません。デフォルト値は Int.max です。
omittingEmptySubsequencesfalse の場合、isSeparator の述語を満たす連続した要素の各ペア、および isSeparator の述語を満たすコレクションの先頭または末尾にある各要素について、空の部分シーケンスが結果に返されます。デフォルト値は 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 を渡しているため、元の文字列は 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 の新機能

  • SDK
  • Xcode 8.0+
  • フレームワーク
  • Swift 標準ライブラリ

  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ