• 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定义变量名。

     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))
  • 相关阅读:
    uboot的启动过程-FDT
    pat练习
    也不知道 为什么没通过 -------------存疑 ---延后解决
    刚认识--博客园
    MapReduce报错Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio
    Hadoop 学习笔记(十)HDFS 之 集群安全模式 & DateaNode
    Hadoop 学习笔记(九)HDFS 之 NameNode & SecondaryNameNode
    sqlldr 报错:Field in data file exceeds maximum length 解决方法
    Hadoop 学习笔记(八)HDFS 数据的读写
    Hadoop 学习笔记(七)HDFS 客户端操作(下)
  • 原文地址:https://www.cnblogs.com/weiios/p/16221321.html
Copyright © 2020-2023  润新知