インスタンスメソッド


split(separator:maxSplits:omittingEmpty
Subsequences:)


与えられた要素と同じ要素の周りに、コレクションのできるだけ最長のサブシーケンスを順番に返します。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+ Xcode 13.0+

func split(
separator: Character,
maxSplits: Int = Int.max,
omittingEmptySubsequences: Bool = true
) -> [Slice<AttributedString.CharacterView>]





パラメータ


separator

そこで分割すべき要素。


maxSplits

コレクションを分割する最大の回数、または返されるサブシーケンスの数から 1 を引いた数。maxSplits + 1 個のサブシーケンスが返された場合、最後のサブシーケンスは、残りの要素を含む元のコレクションの接尾辞になります。maxSplits はゼロ以上でなければなりません。デフォルト値は Int.max です。


omittingEmptySubsequences

false の場合、コレクション内の separator 要素の連続するペアごと、およびコレクションの先頭または末尾の separator のインスタンスごとに、空のサブシーケンスが結果として返されます。true の場合、空ではないサブシーケンスのみが返されます。デフォルト値は true です。



戻り値


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



議論


結果の配列は、最大 maxSplits + 1 個のサブシーケンスで構成されます。コレクションの分割に使用される要素は、サブシーケンスの一部として返されません。


以下の例は、スペースに一致するクロージャを使用して文字列を分割する場合の、maxSplits パラメータと omittingEmptySubsequences パラメータの効果を示しています。最初に Split を使用すると、元々 1 つ以上のスペースで区切られていた各単語が返されます。


  1. let line = "BLANCHE:    I don't want realism. I want magic!"
  2. print(line.split(separator: " "))
  3. // Prints "["BLANCHE:", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"


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


  1. print(line.split(separator: " ", maxSplits: 1))
  2. // Prints "["BLANCHE:", " I don\'t want realism. I want magic!"]"


最後の例では、omittingEmptySubsequences パラメータに false を渡すため、返される配列には、スペースが繰り返された所には空の文字列が含まれています。


  1. print(line.split(separator: " ", omittingEmptySubsequences: false))
  2. // Prints "["BLANCHE:", "", "", "I", "don\'t", "want", "realism.", "I", "want", "magic!"]"


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















トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ