随笔 - 91,  文章 - 0,  评论 - 4,  阅读 - 13万

- 遍历字符串 

        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)
复制代码

 

posted on   xiao孛  阅读(317)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示