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(",")