小编典典

在 Swift 中将字符串拆分为数组?

all

假设我在这里有一个字符串:

var fullName: String = "First Last"

我想根据空格拆分字符串并将值分配给它们各自的变量

var fullNameArr = // something like: fullName.explode(" ")

var firstName: String = fullNameArr[0]
var lastName: String? = fullnameArr[1]

此外,有时用户可能没有姓氏。


阅读 111

收藏
2022-03-02

共1个答案

小编典典

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

斯威夫特 2

在 Swift 2 中,由于引入了内部 CharacterView 类型,拆分的使用变得有点复杂。这意味着 String 不再采用 SequenceType
或 CollectionType 协议,您必须改为使用该.characters属性来访问 String 实例的 CharacterView
类型表示。(注意:CharacterView 确实采用了 SequenceType 和 CollectionType 协议)。

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
2022-03-02