字符串
在 Swift 中絕大多數的情況下,推薦使用 String 類型
使用 String
的原因
String
是一個結構體,性能更高String
目前具有了絕大多數 NSString 的功能String
支持直接遍歷
NSString
是一個OC
對象,性能略差Swift
提供了String
和NSString
之間的無縫轉換
遍歷字符串
let str = "今天天氣不錯,沒有霧霾!"
for s in str {
println(s)
}
字符串拼接
let str1 = "zhangsan"
let str2 = "lisi"
let i = 10
println(str1 + str2)
println("\(str1) \(str2) \(i)")
- 小結
- 直接在
""
中使用\(變量名)
的方式可以快速拼接字符串 - 我和我的小夥伴再也不要考慮
stringWithFormat
了 :D
- 直接在
格式化字符串
for _ in 0...10 {
let str = String(format: "zhangsan - %04d", arguments: [arc4random_uniform(100)])
println(str)
}
- 小結
- 在實際開發中,如果需要指定字符串格式,可以使用
String(format:...)
的方式 - 注意:後面的參數需要放在一個數組中
- 在實際開發中,如果需要指定字符串格式,可以使用
String & Range 的結合
以下是超級費勁的代碼
let str: String = "
字符串
在 Swift 中絕大多數的情況下,推薦使用 String 類型
使用 String
的原因
String
是一個結構體,性能更高String
目前具有了絕大多數 NSString 的功能String
支持直接遍歷
NSString
是一個OC
對象,性能略差Swift
提供了String
和NSString
之間的無縫轉換
遍歷字符串
let str = "我要飛的更High"
for s in str {
println(s)
}
字符串拼接
let str1 = "zhangsan"
let str2 = "lisi"
let i = 10
println(str1 + str2)
println("\(str1) \(str2) \(i)")
- 階段性小結
- 直接在
""
中使用\(變量名)
的方式可以快速拼接字符串 - 我和我的小夥伴再也不要考慮
stringWithFormat
了 :D
- 直接在
格式化字符串
for _ in 0...10 {
let str = String(format: "zhangsan - %04d", arguments: [arc4random_uniform(100)])
println(str)
}
- 階段性小結
- 在實際開發中,如果需要指定字符串格式,可以使用
String(format:...)
的方式 - 注意:後面的參數需要放在一個數組中
- 在實際開發中,如果需要指定字符串格式,可以使用
String & Range 的結合
以下是超級費勁的代碼
let str: String = "今天天氣不錯,沒有霧霾!"
var subStr = str.substringWithRange(Range<String.Index>(start: str.startIndex, end: str.endIndex))
println(subStr)
subStr = str.substringWithRange(Range<String.Index>(start: advance(str.startIndex, 0), end: advance(str.startIndex, 3)))
println(subStr)
建議寫法
let str1: NSString = "今天天氣不錯,沒有霧霾!"
println(str1.substringWithRange(NSMakeRange(0, 3)))
"var subStr = str.substringWithRange(Range<String.Index>(start: str.startIndex, end: str.endIndex))println(subStr)subStr = str.substringWithRange(Range<String.Index>(start: advance(str.startIndex, 0), end: advance(str.startIndex, 3)))println(subStr)
建議寫法
let str1: NSString = "今天天氣不錯,沒有霧霾!"
println(str1.substringWithRange(NSMakeRange(0, 3)))