zoukankan      html  css  js  c++  java
  • 字符串

    字符串

    • 字符串的长度
    • 字符串的拼接
    • 字符串的格式化
    • 字符串的子串

    • String是一个结构体,性能更高
    1.  String目前具有了绝大多数NSString的功能
    2.  String支持直接遍历
    • NSString是一个OC对象,性能略差

    // MARK: - 字符串的子串

        func demo4() {

            

            // 建议:一般使用 NSString作为中转,因为Swift取子串的方法一直在优化

            //更容易理解

            let str = "我们一起去飞"

            

            // 1. NSString

            let ocStr = str as NSString

            let s1 = ocStr.substring(with: NSMakeRange(2, 3))

            print(s1)

            

            // 2.String3.0方法 知道就好

            // 偶尔使用很方便,但是复杂的截取,不好理解,而且语法经常变化

    //        let r = 0..<5

    //        str.substring(with: <#T##Range<String.Index>#>)

            //Index

            //startIndex position == 0

            print(str.startIndex)

            // endIndex postion = str.length

            print(str.endIndex)

            

            let s2 = str.substring(from: "我们".endIndex)

            print(s2)

            

            let s3 = str.substring(from: "abc".endIndex)

            print(s3)

            

            // 取子字符串的范围

            guard let range = str.range(of: "一起") else {

                print("没有找到字符串")

                return

            }

            //一定找到的范围

            print("------")

            print(range)

            print(str.substring(with: range))

            

        }

        

        

        // MARK: - 格式化

        func demo3() {

            let h = 8

            let m = 9

            let s = 6

            

            let dateStr = "(h):(m):(s)"

            print(dateStr)

            

            // 使用格式字符串格式化

            let dateStr1 = String(format: "%02d:%02d:%02d", h, m, s)

            print(dateStr1)

     

        }

    //字符串的长度(3种方法)

        func demo1() {

            let str = "hello world你好"

            // 1>返回指定编码的对应的字节数量

            //URF8的编码(0~4个),每个汉字是3个字节

            print(str.lengthOfBytes(using: .utf8))

            

            // 2>字符串长度- 返回字符的个数《推荐使用》

            print(str.characters.count)

            

            // 3>使用NSString中转

            /**

             str as NSString

             

             OC的写法(CZTabelCell *)[tableView dequeue

             Swift 中可以使用 as 类型类型转换

             */

            let ocStr = str as NSString

            

            print(ocStr.length)

            

        }

        

        

        // MARK: -字符串的遍历

        func demo() {

            // NNString不支持以下方式遍历

            let  str: String = "hello"

            for c in str.characters {

                print(c)

            }

            

        }

      

  • 相关阅读:
    debug和release转载
    坐标系与基本图元(8)
    坐标系与基本图元(7)
    坐标系与基本图元(5)
    坐标系与基本图元(6)
    坐标系与基本图元(4)
    坐标系与基本图元(3)
    坐标系与基本图元(2)
    BZOJ 1090
    Xor
  • 原文地址:https://www.cnblogs.com/liyanyan/p/6056639.html
Copyright © 2011-2022 走看看