1、swift中字符串支持遍历
func demo() {
//NSString OC中的字符串是不支持遍历的
let str: String = "照亮我的梦想"
//变量
for s in str.characters {
print(s)
// 输出结果:
// 照
// 亮
// 我
// 的
// 梦
// 想
}
}
2、获取字符串长度的三种方式
func demo1() {
//NSString OC中的字符串是不支持遍历的
let str: String = "照亮我的梦想"
//1、返回指定编码的对应的字节数据
print(str.lengthOfBytes(using: .utf8))
//2、字符串长度 - 返回字符的个数(推荐使用)
print(str.characters.count)
//3、使用 NSString 中转
let ocStr = str as NSString
print(ocStr.length)
// 输出结果:
// 18
// 6
// 6
}
3、字符串拼接(表达式)
func demo2() {
let name = "小明"
let age = 20
let title: String? = "BOSS"
let point = CGPoint(x: 100, y: 200)
let str = "\(name) \(age) \(title ?? "") \(point)"
print(str)
// 输出结果:
// 小明 20 BOSS (100.0, 200.0)
}
4、格式化输出
func demo3() {
let h = 2
let m = 2
let s = 2
let dateStr = String(format: "%02d:%02d:%02d", h,m,s)
print(dateStr)
//输出结果:02:02:02
let dateStr1 = "\(h):\(m):\(s)"
print(dateStr1)
//输出结果:2:2:2
}
5、从字符串中取出子串
func demo4() {
let str: String = "敢不敢来"
//转化成OC字符串
let ocStr = str as NSString
//截取“不敢”
let jieStr = ocStr.substring(with: NSMakeRange(1, 2))
print(jieStr)
//输出结果:不敢
}
"a","aa"这些都是占位符
func demo5() {
let str: String = "敢不敢来"
let startIndex = str.startIndex
print(startIndex)
let endIndex = str.endIndex
print(endIndex)
let s1 = str.substring(from: "a".endIndex)
print(s1)
//输出结果:不敢来
let s2 = str.substring(from: "aa".endIndex)
print(s2)
//输出结果:敢来
}
func demo6() {
let str: String = "敢不敢来"
guard let range = str.range(of: "不敢") else {
print("没有找到字符串")
return
}
print(range)
print(str.substring(with: range))//不敢
}