- 遍历字符串
let str = "hello"
for s in str.characters {
print(s)
}
- 字符串的长度
let str = "hello world你好"
// 1、返回的是指定编码的对应字节数量
// UTF8 的编码(0~4个),每个汉子是 3 字节
print(str.lengthOfBytes(using: .utf8))
// 2、字符串长度,返回字符的个数
print(str.characters.count)
// 3、所用 NSString 中转
/**
str as NSString
Swift 中使用 `值 as 类型` 进行类型转换
*/
let ocStr = str as NSString
print(ocStr.length)
- 字符串拼接
let name = "王" let age = 18 let title: String? = "BOSS" let point = CGPoint(x: 100, y: 200) // \(常量 / 变量) // *** 拼接字符串需要注意 可选项 Optional // let str = "\(name) \(age)岁,职位是\(title ?? " "),位于\(point)" print(str)
- 字符串格式化
let h = 8 let m = 9 let s = 6 let timeStr = "\(h) : \(m) : \(s)" print(timeStr) let timeStr1 = String.init(format: "%02d : %02d : %02d", h, m, s) print(timeStr1)
- 截取字符串
// 建议使用 NSString 作为中转,因为 Swift 截取方法一直在优化 // 更容易理解 let str = "0123456789" // 1、NSString let ocStr = str as NSString let s1 = ocStr.substring(with: NSMakeRange(2, 4)) print(s1) // 2、String 的 Swift 方法 // 偶尔使用 // position == 0 print(str.startIndex) // position == str.length print(str.endIndex) // 到哪个位置停 print(str.substring(to: "000".endIndex)) // 从哪个位置开始 print(str.substring(from: "0000".startIndex)) guard let range = str.range(of: "23") else { print("没有找到字符串") return; } let s2 = str.substring(with: range) print(s2)