Swift 中的String 可以與 OC 中的 NSString 無縫轉換:let str:string = str as NSString
字符串常用操作
遍歷字符
let str = "hello swift!"
for c in str.characters{
print(c)
}
字符串的長度
let str = "別低頭,綠帽會掉"
//返回以字節為單位的字符串長度,一個中占3個字節
print(str.lengthofBytesUsingEncoding(NSUTF8StringEncoding))
//返回實際字符個數
print(str.characters.count)
//返回UTF8編碼長度
print(str.utf8.count)
字符串拼接
直接在""中使用\(變量名) 的方式可以快速拼接字符串
let str1 = "hello"
let str2 = "World"
let i = 32
let str = "\(i)" + str1 + " " + str2
可選項的拼接
如果變量是可選項, 拼接的結果中會有optional
為了應對強行解包存在的風險,我們可以使用??操作符
let str1 = "hello"
let str2 = "World"
let i:Int? = 32
let str = "\(i??0)個" + str1 + " " + str2
格式化字符串
在實際開發中,如果需要指定字符串格式,可以使用String(format:...)的方式
類似于OC中的stringWithFormat
let h = 8
let m = 23
let s = 9
let timeString = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
let timeStr = String(format: "%02d:%02d:%02d", h, m, s)
字符串截取
let str ="聽說下雨天音樂和辣條更配喲"
//fromIndex 是從指定位置開始截取 直到末尾
//打印結果:下雨天音樂和辣條更配喲
let result1 = str.substringFromIndex("哈哈".endIndex)
print(result1)
//toIndex 從開始截取直接截取到指定位置
//打印結果:聽說下雨天音樂和辣條更
let result2 = str.substringToIndex(str.endIndex.advancedBy(-2))
print(result2)
//withRange:截取指定范圍
//打印結果:下雨天音樂和辣條更
let startIndex = "哈哈".endIndex
let endIndex = str.endIndex.advancedBy(-2)
let result3 = str.substringWithRange(startIndex..<endIndex)
print(result3)
//如果不習慣Swift寫法,也可以直接將String轉換成NSString 使用
//打印結果:聽說
let ocStr = str as NSString
print(ocStr.substringWithRange(NSMakeRange(0, 2)))