1、字符串的遍历
//NSString 不支持一下字符串的遍历
let str = "我要飞的更高"
for c in str.characters{
print(c)
}
2、字符串的长度
let str = "hello world你好"
//1> 返回指定编码的对应的字节数量
//UTF8的编码(0-4个)每个汉字是3个字节
print(str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
// print(str.lengthOfBytes(using: .utf8)) Switf 3.0
//2>字符的长度 - 返回字符的个数
print(str.characters.count)
//3>使用NSString 中转
/*
str as NSString
OC 的写法 (类型*)对象
Swift 中可以使用 '值'as 类型 类型转换
*/
let ocStr = str as NSString
print(ocStr.length)
3、字符串的拼接
let name = "老王"
let age = 18
let title: String? = "BOSS"
//(变量/常量)(变量/常量)
//拼接字符串需要注意 可选项Optional
let str = "(name)(age)(title ?? "")"
print(str)
4、格式化
let h = 8
let m = 9
let s = 6
//使用格式字符串格式化
let dateStr1 = String(format: "%02d:%02d:%02d", h, m, s)
print(dateStr1)
5、字符串的子串
//建议:一般使用 NSString 作为中转,因为Swift取子串的方法一直在优化
let str = "我们一起去飞"
//1、NSString
let ocStr = str as NSString
let s1 = ocStr.substringWithRange(NSMakeRange(2,3))
print(s1)
//2、String 的方法
//let r = 0..<5
//Swift 2.0
//str.substringWithRange(<aRange: Range<Index>>)
//Swift 3.0
//str.substring(with: Range<Index>)
//startIndex position = 0
print(str.startIndex)
//endIndex position = str.length
print(str.endIndex)
根据给出字符串的长度截取子串
let s2 = str.substringFromIndex("我们".endIndex)
print(s2)
let s3 = str.substringFromIndex("adc".endIndex)
print(s3)
//取字符串的范围
guard let range = str.rangeOfString("一起")else {
print("没找到字符串")
return
}
//一定找到的范围
print(range)
print(str.substringWithRange(range))