1.字符串的基本使用
- OC与Swift中字符串的区别
- OC中字符串类型是NSString,Swift中字符串类型是String
- OC字符串用@"",Swift用""
- 使用String的原因
- String 是一个结构体,性能更高(保存的直接是值)
- NSString 是OC的一个对象,性能略差(保存的是地址)
- String 支持遍历
- 字符串的定义
- 定义可变字符串
var str = "1234567"
- 定义不可变字符串
let str = "1234567"
- 字符串的使用
- 获取字符串的长度
str = "123我" str.lengthOfBytes(using: .utf8)//获取字节长度 str.characters.count//字符串长度
- 遍历字符串
var str = "12ertf" for c in str.characters{ print (c) }
- 字符串的拼接
- 字符串与字符串的拼接
var str1 = "我们" var str2 = "1234567" str1+str2
- 字符串和其它数据类型的拼接
var str1 = "我们" let num = 10 str1 +"\(num)"
- 字符串的格式化
- 123秒→02:03
let sec = 123 let formatTime = String(format:%02zd:%02zd,sec /60,sec%60)
2.字符串的截取
- Swift中提供了特殊的截取方法
var str = "123456789" let startIndex = str.startIndex let endIndex = str.endIndex var fromIndex = str.index(after: startIndex) fromIndex = str.index(startIndex,offsetBy:5) let fromIndex = str.index(endIndex,offsetBy:-3) str.substring(from: fromIndex) let range = fromIndex..<endIndex str.substring(with: range)
- 将String转成NSString来使用
(str as NSString).substring(to: 2) (str as NSString).substring(from: 2) (str as NSString).substring(with : NSMakeRange(2,1))
- 字符串的替换
let replaceRange = startIndex...fromIndex str.replaceSubrange(replaceRange,with:"123")