文書   >   Swift 標準ライブラリ >     Collections   >   Sequence and Collection Protocols   >   Sequence   >   split(maxSplits:omittingEmptySubsequences:whereSeparator:)
インスタンスメソッド
split(maxSplits:omittingEmptySubsequences:
whereSeparator:)
指定された predicate (述語) を満たす要素を含まない、シーケンスの可能な最長の部分シーケンスを、順番に返します。
必須。 デフォルトの実装が供給されます。
宣言
func split(maxSplits: Int, omittingEmptySubsequences: Bool, whereSeparator isSeparator: (Self.Element) throws -> Bool) rethrows -> [Self.SubSequence]
パラメータ
maxSplits | シーケンスを分割する最大回数、または返す部分シーケンスの数より 1 つ少ない数。maxSplits + 1 の部分シーケンスが返された場合、最後のシーケンスは、残りの要素を含む元のシーケンスの接尾辞 (suffix) です。maxSplits はゼロ以上でなければなりません。デフォルト値は Int.max です。 |
omittingEmptySubsequences | false の場合、isSeparator の述語 (predicate) を満たすシーケンスの要素の最初と最後の各要素の連続した各ペアの、空の部分シーケンスが返されます。true の場合、空でない部分シーケンスのみが返されます。デフォルト値は true です。 |
isSeparator | 引数をシーケンスの分割に使用すべき場合は true を返すクロージャ。それ以外の場合は false 。 |
戻り値
このシーケンスの要素から分割された部分シーケンスの配列。
議論
結果の配列は最大 maxSplits + 1 部分シーケンスで構成されます。シーケンスを分割するために使用される要素は、いかなる部分シーケンスの一部としても返されません。
以下の例は、空白に一致するクロージャを使用して文字列を分割するときの maxSplits および omittingEmptySubsequences パラメータの効果を示しています。split の最初の使用は、もともと 1 つ以上の空白で区切られていた各単語を返します。
let line = "BLANCHE: I don't want realism. I want magic!"
print(line.split(whereSeparator: { $0 == " " })
.map(String.init))
// Prints "["BLANCHE:", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"
2 番目の例では、maxSplits パラメータに 1 が渡されるため、元の文字列は 2 つの新しい文字列に 1 回だけ分割されます。
print(
line.split(maxSplits: 1, whereSeparator: { $0 == " " })
.map(String.init))
// Prints "["BLANCHE:", " I don\'t want realism. I want magic!"]"
最後の例では、omittingEmptySubsequences パラメータに false を渡し、それで返された配列には空白が繰り返される空の文字列が含まれています。
print(line.split(omittingEmptySubsequences: false,
whereSeparator: { $0 == " " })
).map(String.init))
// Prints "["BLANCHE:", "", "", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"
デフォルトの実装
コレクションの実装
func split(maxSplits: Int, omittingEmptySubsequences: Bool,
whereSeparator: (Self.Element) -> Bool)
リンク切れ
指定された predicate (述語) を満たす要素を含まないコレクションの、可能な最長の部分シーケンスを返します。
シーケンスの実装
func split(maxSplits: Int, omittingEmptySubsequences: Bool,
whereSeparator: (Self.Element) -> Bool)
リンク切れ
指定された predicate (述語) を満たす要素を含まない、シーケンスの可能な最長の部分シーケンスを返します。シーケンスを分割するために使用された要素は、いかなる部分シーケンスの一部としても返されません。
以下も見よ
要素の分割と結合
func split(separator: Self.Element, maxSplits: Int, omittingEmptySubsequences: Bool)
指定された要素と等しい要素の周りで、シーケンスの可能な最長の部分シーケンスを、順番に返します。
連結されたこの一連のシーケンスの要素を返します。
func joined(separator: String)
シーケンスの要素を連結し、各要素間に指定されたセパレータを追加して新しい文字列を返します。
func joined<Separator>(separator: Separator)
各要素の間に指定されたセパレータを挿入して、この一連のシーケンスの連結された要素を返します。