Swift字符串操作-持续更新-2022
Swift字符串追加
var str = "OC" str.append(" Swfit") print(str) // 输出结果: OC Swift
输出结果:
Swift获取字符串长度
let str = String(format: "数字%.2f", 333.333) // 获取长度 print(str.count) // 输出结果: 8
输出结果:
Swfit计算字符串中子字符串出现的次数
Swfit计算字符串中字符的出现次数
Swfit统计字符串中指定字符的个数
Swfit计算指定字符在字符串中出现的次数
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 4 let text = "swfitJJUKKswiftnnytuswfitssssswfittttaaee" 5 let num = subStringCount(str: text, substr: "swfit") 6 print("swfit在字符串中出现了\(num)次") 7 } 8 9 10 /// 计算字符串中子字符串出现的次数 11 /// - Parameters: 12 /// - str: 字符串 13 /// - substr: 子字符串 14 /// - Returns: 数量 15 func subStringCount(str: String, substr: String) -> Int { 16 { $0.isEmpty ? 0 : $0.count - 1 } ( str.components(separatedBy: substr)) 17 } 18 19 //参考 https://stackoom.com/en/question/29Cdr
输出结果:
Swift字符串的子串
1 // MARK:字符串的子串 2 // 建议:一般使用NSString中转 3 func test() { 4 let str = "好好学习,天天向上" 5 let ocStr = str as NSString 6 let s1 = ocStr.substring(with: NSMakeRange(2, 5)) 7 print(s1) 8 }
输出结果:
Swfit字符串遍历和长度的三种方法
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 4 test1() 5 test2() 6 } 7 8 9 10 // MARK: 字符串遍历 11 func test1() { 12 let str = "需要遍历的字符串" 13 for byteStr in str { 14 print(byteStr) 15 } 16 } 17 // 输出结果: 需 18 // 输出结果: 要 19 // 输出结果: 遍 20 // 输出结果: 历 21 // 输出结果: 的 22 // 输出结果: 字 23 // 输出结果: 符 24 // 输出结果: 串 25 26 // MARK: 字符串的长度 27 func test2() { 28 29 let str = "Hello World 你好" 30 //1.返回指定编码的对应的字节数量 31 //UTF8的编码(0--4) 每个汉字是3个字节 32 print(str.lengthOfBytes(using: .utf8)) 33 34 //2.字符串长度 -返回字符的个数 35 print(str.count); 36 37 //3.使用NSString中转 38 let ocStr = str as NSString 39 print(ocStr.length) 40 } 41 // 输出结果: 18 42 // 输出结果: 14 43 // 输出结果: 14
输出结果:
Swift 字符串是否包含某字符
/// 字符串是否包含指定字符 func test() { let label = UILabel() label.text = "ADSSSwfitKohuo" if label.text!.contains("Swfit") { print("包含") } else { print("不包含") } // 输出结果: 包含 }
Swfit拼接字符串
1 // MARK: - 字符串拼接 2 func test() { 3 4 let name = "张三" 5 let age = 30 6 let title:String? = "大BOSS" 7 8 //格式:\(变量或常量) 9 //let str = "\(name)\(age)\(title)" 10 let str = "\(name)\(age)\(title ?? "")" 11 12 print(str) 13 14 }
输出结果:
Swfit格式化字符串
//MARK:格式化字符串 func test() { let h = 6 let m = 36 let s = 55 let dateStr = "\(h):\(m):\(s)" //使用格式字符串格式化 let dateStr1 = String(format:"%02d:%02d:%02d",h,m,s) print(dateStr) print(dateStr1) }
输出结果:
String类型的字符串截取|删除
String
类型的字符串截取方法,使用的是字符串切片的原理,直接对原字符串做修改,所以必须用var
定义变量名。
//String类型的字符串 var str = "123456" //从后删除最后一个字符 str.removeLast() //从后删除指定个数的字符 str.removeLast(2) //从前删除第一个字符 str.remove(at: str.startIndex) //删除脚标为3的字符 str.remove(at: str.index(str.startIndex, offsetBy: 3)) //删除自定义区间的字符串 str.removeSubrange(Range.init(NSMakeRange(2, 3), in: str)!) //删除所有字符,变成空字符串 str.removeAll() // 头部截取 let str = "ABCDEFG" let str1 = str.prefix(2); print(str1) // 结果: AB // 尾部截取 let str2 = str.suffix(3); print(str2) // 结果: EFG
NSString类型的字符串截取
NSString
类型的字符串截取方法,同于OC
语言的字符串截取方法,不能修改字符串本身,截取后返回String
类型,所以需要定义变量进行接收。
1 //NSString类型的字符串 2 let str: NSString = "123456" 3 //从开头截取到指定脚标 4 str.substring(to: 4) 5 //从指定脚标截取到结尾 6 str.substring(from: 3) 7 //自定义截取区间 8 str.substring(with: NSMakeRange(2, 3))
分类:
Swfit
标签:
Swfit字符串处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端