一.字符串的介紹
- 字符串的使用,在任何一門編程語言的開發中都是非常頻繁的。
二.與OC的區別
- Swift中字符串是一個結構體,OC字符串是一個對象,性能比OC字符串要高。
- Swift中字符串的類型是String,寫法"abc",而OC是NSString,寫法@"abc"。
- Swift中的字符串支持直接遍歷。
三.用法
1.定義
格式:
let 標識符 = "值"
或
var 標識符 = ”值“
例子:
//OC
NSString * str = @“瘋狂的小托馬斯”;
//Swift
let str = "瘋狂的小托馬斯"
var str1 = "瘋狂的小托馬斯"
2.遍歷字符串
- String 支持直接遍歷。
例子:
var str = "瘋狂的小托馬斯"
for c in str.characters{
print(c)
}
3.拼接字符串
- 字符串之間的拼接
直接用+進行拼接。
例子:
let s = "瘋狂"
let s1 = "的"
let s2 = "小托馬斯"
let resultStr = s + s1 + s2
print(resultStr)
//打印結果:瘋狂的小托馬斯
var s3 = "最牛de "
s3 += resultStr
print(s3)
//打印結果:最牛de瘋狂的小托馬斯
- 字符串與其他不同類型的標識符拼接
格式 :
/(標識符)
例子:
let age = 22
let name = "瘋狂的小托馬斯"
var str3 = "name = \(name),age = \(age)"
print(str3)
//打印結果:name = 瘋狂的小托馬斯,age = 22
4.字符串的格式化
-使用的方法與OC類似,只是表現形式不同。
例子:
//OC
NSString * time = [NSString stringWithFormat:@"%02d:%20d:%02d",9,9,13];
//Swift
var time = String(format: "%02d : %02d : %02d", arguments: [9, 9, 13])
print(time)
//打印結果:09 : 09 : 13
5.字符串的截取
- 字符串截取有2種方式。
- OC對象方式截取
將string轉換成NSString進行截取操作。
例子:
- OC對象方式截取
let s = "瘋狂的小托馬斯"
let h = (s as NSString).substringToIndex(2)
let m = (s as NSString).substringWithRange(NSMakeRange(2, 1))
let t = (s as NSString).substringFromIndex(3)
print(h)
print(m)
print(t)
/*打印結果:
瘋狂
的
小托馬斯
*/
- string直接截取
let nameStr = "瘋狂的小托馬斯"
//創建Index
let indexS = nameStr.startIndex.advancedBy(2)
let indexEnd = nameStr.endIndex.advancedBy(-4)//endIndex注意要逆序,并且要負數
let range = Range<String.Index>(start: indexS, end: indexEnd)
//截取
let header = nameStr.substringToIndex(indexS)
let body = nameStr.substringWithRange(range)
let footer = nameStr.substringFromIndex(indexEnd)
print(header+body+footer)
//打印結果:瘋狂的小托馬斯
let index = nameStr.characters.indexOf("的") //根據字符查找index,最先遍歷那個字符
//index = 2
如果大家有什么疑惑,或者文章有什么錯誤的地方,請大家留言。