我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己的一份文档.
字符串的子串
func demo3() {
let str = "我们一起飞"
//1 建议: 一般使用NSString 作为中转 很容易理解
let ocStr = str as NSString
let s1 = ocStr.substring(with: NSMakeRange(2, 3))
print(s1)
//2 String 3.0方法
//偶尔使用很方便 但是复杂的截取 不好理解 而且语法经常变化
//let r = 0..<5
print(str.startIndex)
print(str.endIndex)
let s2 = str.substring(from: "我们".endIndex)
print(s2)
let s3 = str.substring(from: "123".endIndex)
print(s3)
//取子字符串的范围
guard let range = str.range(of: "一起") else {
print("没有找到字符串")
return
}
print("-----")
print(range)
print(str.substring(with: range))
}
拼接字符串
func demo2() {
let name = "老王"
let age = 18
let title: String? = nil//= "BOSS"
let point = CGPoint(x: 100, y: 200)
/*
oc NSStringWithFormart:xxx
swift \(常量/变量)
需要注意可选项 optional
NSStringFromCGPoint(point)
*/
let str = "\(name) \(age) \(title) \(point)"
print(str)
}
字符串长度
func demo1() {
//法一
//返回的是指定编码的对应的字节数量
//utf8 的编码(0~4个) 每个汉字是3个字节
let str = "hello world你好"
print(str.lengthOfBytes(using: .utf8))
//法二
//字符串长度 返回字符串的个数(推荐使用)
print(str.characters.count)
//法三
//使用NSString 中转
/*
str as NSString
oc 的写法 (SGPTableViewCell *) [tableView dequeue
swift 中可以使用 '值 as 类型' 类型转换
*/
let ocStr = str as NSString
print(ocStr.length)
}
字符串的遍历
func demo() {
//字符串的遍历
// NSString 不支持以下方式遍历
let str: String = "我要飞得更高"
for c in str.characters {
print(c)
}
}
网友评论