join一个不同的最终分隔符的string数组
一般来说:如何join一系列刺激,使最后一个分隔符与其他分隔符不同?
具体来说:iOS消息应用程序如何构造组对话的默认名称,即联系人名称列表?
例
class User { var name: String init(name: String) { self.name = name } } let users = [ User(name: "Matthew"), User(name: "Mark"), User(name: "Luke"), User(name: "John") ] users.list(" & ") { $0.name } // => "Matthew, Mark, Luke & John"
PHP
- 用“,”排列数组,在最后一项之前加上“和”
- 用&符号replace最后一个逗号
- 如何编辑implode,这样它将连接两个string的值?
Ruby(在Rails上)
- Rails使用逗号和“and”连接string列表
python
- 如何在Python中join列表,但使最后一个分隔符不同?
C#(Linq)
- 用“和”逗号分隔列表代替最后的逗号
使用问题中定义的类你可以做这样的事情:
let names = users.map { $0.name } let suffix = names.suffix(2) let joined = (names.dropLast(suffix.count) + [suffix.joinWithSeparator(" & ")]).joinWithSeparator(", ") print(joined) // prints Matthew, Mark, Luke & John