1.字符串遍历和长度的三种方法
override func viewDidLoad() {
super.viewDidLoad()
demo2()
}
//MARK:--字符串遍历
func demo1() {
let str = "我要飞"
for cha in str.characters {
print(cha)
}
}
//MARK: 字符串的长度
func demo2() {
let str = "hello world你好"
//1.返回指定编码的对应的字节数量
//UTF8的编码(0--4) 每个汉字是3个字节
print(str.lengthOfBytes(using: .utf8))
//2.字符串长度 -返回字符的个数
print(str.characters.count);
//3.使用NSString中转
let ocStr = str as NSString
print(ocStr.length)
}
输出结果:
17
13
13
2.拼接字符串&格式化字符串
2.1拼接字符串
//MARK: --字符串拼接 NSString stringWithFormat:<#(nonnull NSString *), ...#>
func demo3() {
let name = "老王"
let age = 18
let title:String? = "Boss"
//格式:\(变量或常量)
//let str = "\(name)\(age)\(title)"
let str = "\(name)\(age)\(title ?? "")"
print(str)
}
输出结果:
老王18Optional("Boss")
老王18Boss
注:这里有个Optional,所以拼接字符串需要注意可选项Optional,所以可以用??(三目运算)来解决.
2.2格式化字符串
//MARK:格式化字符串
func demo4() {
let h = 8
let m = 9
let s = 6
let dateStr = "\(h):\(m):\(s)"
//使用格式字符串格式化
let dateStr1 = String(format:"%02d:%02d:%02d",h,m,s)
print(dateStr)
print(dateStr1)
}
输出结果:
8:9:6
08:09:06
3.字符串的子串
//MARK:字符串的子串
//建议:一般使用NSString中转 因为swift中取子串的方法一直在优化
func demo5() {
let str = "我们一起学习swift"
let ocStr = str as NSString
let s1 = ocStr.substring(with: NSMakeRange(2, 3))
print(s1)
}