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
定义变量名。
1 //String类型的字符串 2 var str = "123456" 3 //从后删除最后一个字符 4 str.removeLast() 5 //从后删除指定个数的字符 6 str.removeLast(2) 7 //从前删除第一个字符 8 str.remove(at: str.startIndex) 9 //删除脚标为3的字符 10 str.remove(at: str.index(str.startIndex, offsetBy: 3)) 11 //删除自定义区间的字符串 12 str.removeSubrange(Range.init(NSMakeRange(2, 3), in: str)!) 13 //删除所有字符,变成空字符串 14 str.removeAll()
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))