说我在这里有一个字符串:
var fullName: String = "First Last"
我想在空白处分割字符串并将值分配给它们各自的变量
var fullNameArr = // something like: fullName.explode(" ") var firstName: String = fullNameArr[0] var lastName: String? = fullnameArr[1]
此外,有时用户可能没有姓氏。
Swift的方法是使用全局split函数,如下所示:
split
var fullName = "First Last" var fullNameArr = split(fullName) {$0 == " "} var firstName: String = fullNameArr[0] var lastName: String? = fullNameArr.count > 1 ? fullNameArr[1] : nil
与 Swift 2
在Swift 2中,由于引入了内部CharacterView类型,对split的使用变得更加复杂。这意味着String不再采用SequenceType或CollectionType协议,而必须使用该.characters属性来访问String实例的CharacterView类型表示。(注意:CharacterView确实采用SequenceType和CollectionType协议)。
.characters
let fullName = "First Last" let fullNameArr = fullName.characters.split{$0 == " "}.map(String.init) // or simply: // let fullNameArr = fullName.characters.split{" "}.map(String.init) fullNameArr[0] // First fullNameArr[1] // Last