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

823
假设我这里有一个字符串:
var fullName: String = "First Last"

我想根据空格拆分字符串,并将值分配给相应的变量。
var fullNameArr = // something like: fullName.explode(" ") 

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

有时候用户可能没有姓氏。

16
嗨,我没有我的 Mac 可以检查。但您可以尝试使用 'fullName.componentsSeparatedByString(string:" ")'。不要复制粘贴,请使用自动完成功能,这样您就能获得正确的函数。 - David Gölzhäuser
如果您只需要按一个字符拆分,使用 fullName.utf8.split( <utf-8 character code> ) 也可以(对于 UTF-16,请将 .utf8 替换为 .utf16)。例如,使用 fullName.utf8.split(43) 可以拆分 + - Jojodmo
有时候姓氏中间会有空格,比如“达芙妮·杜穆里埃”或者“查尔斯·德林特”。 - Berry
41个回答

-2

这是关于Swift 4.2中字符串和CSV文件的内容,日期为20181206 1610。

var dataArray : [[String]] = []
 let path = Bundle.main.path(forResource: "csvfilename", ofType: "csv")
        let url = URL(fileURLWithPath: path!)
        do {
            let data = try Data(contentsOf: url) 
            let content = String(data: data, encoding: .utf8)
            let parsedCSV = content?.components(separatedBy: "\r\n").map{ $0.components(separatedBy: ";") }
           for line in parsedCSV!
            {
                dataArray.append(line)
           }
        }
        catch let jsonErr {
            print("\n   Error read CSV file: \n ", jsonErr)
        }

            print("\n MohNada 20181206 1610 - The final result is \(dataArray)  \n ")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接