OC中的字符串都知道很麻烦的拼接,等等
在swift中相比而言我觉得很容易
下面是一些字符串的处理
//字符串的遍历
func demo(){
let str:String = "我要飞得更高"
for c in str.characters {
print(c)
}
}
//字符串的长度
func demo1(){
//返回指定编码的对应的字节数量
//UTF8的编码(0-4个),每个汉字3个字节
let str = "hello world你好"
print(str.lengthOfBytes(using: .utf8))
//2>字符串长度//推荐使用
print(str.characters.count)
//3.使用NSString 中转
//在swift中可以使用值'as'类型装换
let ocStr = str as NSString
print(ocStr.length)
}
//字符串的拼接
func demo2(){
let name = "老王"
let age = 18
let titile :String? = "boss"
let point = CGPoint(x:100,y:100)
let str = "\(name) \(age) \(titile ?? "")\(point)"
print(str)
}
func demo3() -> (){
let h = 8
let m = 9
let s = 6
let deteStr = "\(h):\(m):\(s)"
print(deteStr)
//使用格式字符串格式
let dateStr1 = String(format:"%02d:%02d:%02d",h,m,s)
print(dateStr1)
}
//-字符串的子串
func demo4(){
//建议:一般使用NSString 座位字符串的中转,因为swift取子串的方法一直在优化
let str = "我们一起去飞"
//1.NSString
let ocStr = str as NSString
let s1 = ocStr.substring(with: NSMakeRange(2, 3))
print(s1)
//2.string de 3.0 的方法
//偶尔使用很方便,但是复杂的截取方式不好理解,而且语法经常变化
// let r = 0..<5
// str.substring(with: <#T##Range<String.Index>#>)
// index
print(str.startIndex)
print(str.endIndex)
let s2 = str.substring(from: "我们".endIndex)
print(s2)
let s3 = str.substring(from: "abc".endIndex)
print(s3)
//取子字符串的范围
guard let range = str.range(of: "一起") else{
print("没有找到字符串")
return
}
//一定找到了
print("-------")
print(range)
print(str.substring(with: range))
}