在SWIFT中将字符串拆分成数组?

在SWIFT中将字符串拆分成数组?

假设我这里有一根绳子:

var fullName: String = "First Last"

我希望将字符串拆分为空格,并将值赋值给它们各自的变量。

var fullNameArr = // something like: fullName.explode(" ") 
var firstName: String = fullNameArr[0]var lastName: String? = fullnameArr[1]

而且,有时用户可能没有姓。


猛跑小猪
浏览 1303回答 3
3回答

MYYA

SWIFT的方法是使用全局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类型,拆分的使用变得更加复杂。这意味着字符串不再采用SequenceType或Collection Type协议,而必须使用.characters属性访问字符串实例的CharacterView类型表示形式。(注意:CharacterView确实采用SequenceType和Collection Type协议)。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] // FirstfullNameArr[1] // Last

潇潇雨雨

打电话componentsSeparatedByString方法fullNameimport Foundationvar fullName: String = "First Last"let fullNameArr = fullName.componentsSeparatedByString(" ") var firstName: String = fullNameArr[0]var lastName: String = fullNameArr[1]SWIFT 3+更新import Foundationlet fullName    = "First Last"let fullNameArr = fullName.components(separatedBy: " ")let name     = fullNameArr[0]let surname = fullNameArr[1]

PIPIONE

最简单的方法是使用组件sSeparatedBy:SWIFT 2:import Foundationlet fullName : String = "First Last";let fullNameArr : [String] = fullName.componentsSeparatedByString(" ") // And then to access the individual words:var firstName : String = fullNameArr[0]var lastName : String = fullNameArr[1]SWIFT 3:import Foundationlet fullName : String = "First Last"let fullNameArr : [String] = fullName.components(separatedBy: " ") // And then to access the individual words:var firstName : String = fullNameArr[0]var lastName : String = fullNameArr[1]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS