* Swift 的String類型與 Foundation NSString類進(jìn)行了無(wú)縫橋接
* OC語(yǔ)言中的字符串也是以\0結(jié)尾, Swift不是
* OC中字符串是一個(gè)對(duì)象, Swift中使用String是一個(gè)結(jié)構(gòu)體,效率更高, 支持遍歷
* 注意:
* Swift 的String類型是值類型猪狈。 如果您創(chuàng)建了一個(gè)新的字符串雄可,那么當(dāng)其進(jìn)行常量、變量賦值操作九府,或在函數(shù)/方法中傳遞時(shí),會(huì)進(jìn)行值拷貝。 任何情況下,都會(huì)對(duì)已有字符串值創(chuàng)建新副本赋秀,并對(duì)該新副本進(jìn)行傳遞或賦值操作
Swift字符串不是以\0結(jié)尾
var stringValue = "abc\0cdf"
print(stringValue)
遍歷字符串
var str = "我很帥"
for c in str,characters{
print(c)
}
鏈接字符串和字符
var str2 = "cool"
str2 += str
字符串插值
let myAge: Int? = 30
let myName = "lf"
注意:拼接字符串的時(shí)如果字符串是可選,要特別注意持际,會(huì)帶上 Optional
let str3 = "name = \(myName),age = \(myAge!)"
需要格式的時(shí)候沃琅,可以這樣設(shè)置
let frmStr = String(format:"%02d:%02d:%02d",arguments: \[9, 23, 8])
字符串截取哗咆,建議使用NSString
let str4 = "fengcool"
let nsStr: NSString = str4
let subStr = nsStr.substringWithRange(NSMakeRange(0, 3))
使用startIndex屬性可以獲取一個(gè)String的第一個(gè)Character的索引
使用endIndex屬性可以獲取最后一個(gè)Character的后一個(gè)位置的索引
let subStr2 = str4.substringToIndex(str4.startIndex.advancedBy(3))
let range = Range(start: str4.startIndex, end: str4.startIndex.advancedBy(3))
let subStr3 = str4.substringWithRange(range)