Objective-Cでは、componentsJoinedByString
を呼び出して、指定された文字列で区切られた配列の各要素を持つ文字列を生成できます。 SwiftにはStringにcomponentsSeparatedByString
メソッドがありますが、配列にはこれの逆のようには見えません:
'Array<String>' does not have a member named 'componentsJoinedByString'
SwiftのcomponentsSeparatedByString
の逆は何ですか?
Swift 2.0と似ていますが、APIの名前変更によりjoinWithSeparator
がjoined(separator:)
に変更されました。
let joinedString = ["1", "2", "3", "4", "5"].joined(separator: ", ")
// joinedString: String = "1, 2, 3, 4, 5"
詳細については、 Sequence.join(separator:) を参照してください。
joinWithSeparator
でSequenceType
メソッドを使用して、文字列の配列を文字列セパレータで結合できます。
let joinedString = ["1", "2", "3", "4", "5"].joinWithSeparator(", ")
// joinedString: String = "1, 2, 3, 4, 5"
詳細については、 SequenceType.joinWithSeparator(_:) を参照してください。
join
でString
標準ライブラリ関数を使用して、文字列の配列を文字列に結合できます。
let joinedString = ", ".join(["1", "2", "3", "4", "5"])
// joinedString: String = "1, 2, 3, 4, 5"
または、必要に応じて、グローバル標準ライブラリ関数を使用できます。
let joinedString = join(", ", ["1", "2", "3", "4", "5"])
// joinedString: String = "1, 2, 3, 4, 5"
ComponentsJoinedByStringはNSArrayでは引き続き使用できますが、Swift Arraysでは使用できません。前後にブリッジできます。
var nsarr = ["a", "b", "c"] as NSArray
var str = nsarr.componentsJoinedByString(",")