我以前做的swift筆記, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以當(dāng)做自己的一份文檔.
字符串的子串
func demo3() {
let str = "我們一起飛"
//1 建議: 一般使用NSString 作為中轉(zhuǎn) 很容易理解
let ocStr = str as NSString
let s1 = ocStr.substring(with: NSMakeRange(2, 3))
print(s1)
//2 String 3.0方法
//偶爾使用很方便 但是復(fù)雜的截取 不好理解 而且語法經(jīng)常變化
//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 \(常量/變量)
需要注意可選項(xiàng) optional
NSStringFromCGPoint(point)
*/
let str = "\(name) \(age) \(title) \(point)"
print(str)
}
字符串長度
func demo1() {
//法一
//返回的是指定編碼的對應(yīng)的字節(jié)數(shù)量
//utf8 的編碼(0~4個(gè)) 每個(gè)漢字是3個(gè)字節(jié)
let str = "hello world你好"
print(str.lengthOfBytes(using: .utf8))
//法二
//字符串長度 返回字符串的個(gè)數(shù)(推薦使用)
print(str.characters.count)
//法三
//使用NSString 中轉(zhuǎn)
/*
str as NSString
oc 的寫法 (SGPTableViewCell *) [tableView dequeue
swift 中可以使用 '值 as 類型' 類型轉(zhuǎn)換
*/
let ocStr = str as NSString
print(ocStr.length)
}
字符串的遍歷
func demo() {
//字符串的遍歷
// NSString 不支持以下方式遍歷
let str: String = "我要飛得更高"
for c in str.characters {
print(c)
}
}