Swift 字符串

- 遍历字符串 

        let str = "hello"
        for s in str.characters {
            print(s)
        }

- 字符串的长度  

        let str = "hello world你好"
        
        // 1、返回的是指定编码的对应字节数量
        // UTF8 的编码(0~4个),每个汉子是 3 字节
        print(str.lengthOfBytes(using: .utf8))
        
        // 2、字符串长度,返回字符的个数
        print(str.characters.count)
        
        // 3、所用 NSString 中转
        /**
            str as NSString
            Swift 中使用 `值 as 类型` 进行类型转换
         */
        let ocStr = str as NSString
        print(ocStr.length)

 - 字符串拼接

        let name = ""
        let age = 18
        let title: String? = "BOSS"
        let point = CGPoint(x: 100, y: 200)
        
        // (常量 / 变量)
        // *** 拼接字符串需要注意 可选项 Optional
        //
        let str = "(name) (age)岁,职位是(title ?? "   "),位于(point)"
        print(str)

- 字符串格式化

        let h = 8
        let m = 9
        let s = 6
        
        let timeStr = "(h) : (m) : (s)"
        print(timeStr)
        
        let timeStr1 = String.init(format: "%02d : %02d : %02d", h, m, s)
        print(timeStr1)

- 截取字符串

        // 建议使用 NSString 作为中转,因为 Swift 截取方法一直在优化
        // 更容易理解
        let str = "0123456789"
        
        // 1、NSString
        let ocStr = str as NSString
        let s1 = ocStr.substring(with: NSMakeRange(2, 4))
        print(s1)
        
        // 2、String 的 Swift 方法
        // 偶尔使用
        // position == 0
        print(str.startIndex)
        // position == str.length
        print(str.endIndex)
        
        // 到哪个位置停
        print(str.substring(to: "000".endIndex))
        // 从哪个位置开始
        print(str.substring(from: "0000".startIndex))
        
        guard let range = str.range(of: "23") else {
            print("没有找到字符串")
            return;
        }
        
        let s2 = str.substring(with: range)
        print(s2)
原文地址:https://www.cnblogs.com/shen5214444887/p/7403929.html