字符串的介紹
- 字符串在任何的開發中使用都是非常頻繁的
- OC和Swift中字符串的區別
- 在OC中字符串類型時NSString,在Swift中字符串類型是String
- OC中字符串@"",Swift中字符串""
- 使用 String 的原因
- String 是一個結構體,性能更高
- NSString 是一個 OC 對象,性能略差
- String 支持直接遍歷
- Swift 提供了 String 和 NSString 之間的無縫轉換
字符的定義
- 定義不可變字符串
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
- 字符串和其他數據類型的拼接
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創建較為麻煩
** 簡單的方式是將String轉成NSString來使用 **
- 在標識符后加: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.截取結束位置
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)
- 系列文章
01 Swift最基本的語法變化
02 Swift中的變量和常量
03 Swift中的數據類型
04 Swift邏輯分支
05 Swift中的循環
06 Switf中的字符串
07 Swift 數組
08 Swift字典
09 Swift 元組
10 Swift 可選類型
11 Swift 類型轉化
12 Swift 函數
13 Swift 枚舉類型
14 Swift 結構體
15 Swift 類的定義
16 Swift 類的構造函數
17 Swift 類的析構函數
18 自動引用計數
19 Swift 可選鏈
20 協議
21 閉包
22 Swift 懶加載
23 Swift 注釋