字符串的介紹
- 字符串在任何的開發(fā)中使用都是非常頻繁的
- OC和Swift中字符串的區(qū)別
- 在OC中字符串類型時NSString,在Swift中字符串類型是String
- OC中字符串@"",Swift中字符串""
- 使用 String 的原因
- String 是一個結(jié)構(gòu)體本谜,性能更高
- NSString 是一個 OC 對象绎狭,性能略差
- String 支持直接遍歷
- Swift 提供了 String 和 NSString 之間的無縫轉(zhuǎn)換
字符的定義
定義不可變字符串
let str = "hello Objective-C"
定義可變字符串
var str = "hello Swift"
字符串的使用
獲取字符串的長度
獲取字符集合,再獲取集合的count屬性
let count = str.characters.count
遍歷字符串
var str = "Hello, Swift"
for c in str.characters {
print(c)
}
字符串拼接
- 兩個字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
- 字符串和其他數(shù)據(jù)類型的拼接
let name = "why"
let age = 18
let info = "my name is \(name), age is \(age)"
- 字符串的格式化
- 比如時間:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
字符串的截取
- Swift中提供了特殊的截取方式
- 該方式非常麻煩
- Index創(chuàng)建較為麻煩
- 簡單的方式是將String轉(zhuǎn)成NSString來使用
- 在標(biāo)識符后加:as NSString即可
let myStr = "www.520it.com"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
- swift截取方式
// 1.定義字符串
let str = "www.520it.com"
// 2.截取開始位置
let fromIndex = str.startIndex.advancedBy(3)
let header = str.substringFromIndex(fromIndex)
// 3.截取結(jié)束位置
let toIndex = str.endIndex.advancedBy(-3)
let footer = str.substringToIndex(toIndex)
// 4.截取中間的字符串
let range = Range(start: str.startIndex.advancedBy(4), end: str.endIndex.advancedBy(-4))
let middle = str.substringWithRange(range)