Swift相当于Array.componentsJoinedByString?

在Objective-C中,我们可以调用componentsJoinedByString来产生一个string,每个元素由提供的string分隔。 虽然Swift在String上有一个componentsSeparatedByString方法,但在Array上似乎没有这个方法:

 'Array<String>' does not have a member named 'componentsJoinedByString' 

什么是在Swift中componentsSeparatedByString的逆?

Swift 3.0:

与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(分隔符:)以获取更多信息。

Swift 2.0:

您可以使用SequenceType上的joinWithSeparator方法来连接带有string分隔符的string数组。

 let joinedString = ["1", "2", "3", "4", "5"].joinWithSeparator(", ") // joinedString: String = "1, 2, 3, 4, 5" 

有关更多信息,请参见SequenceType.joinWithSeparator(_ 🙂 。

Swift 1.0:

您可以使用String上的join标准库函数将String数组连接到一个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数组上。 你可以来回桥接。

 var nsarr = ["a", "b", "c"] as NSArray var str = nsarr.componentsJoinedByString(",")