swift字符串

因为swift的字符串的截取还在优化中,建议是用OC的

/**

 1. 字符串的遍历

 2. 字符串的长度

 3. 字符串的拼接

 */

class ViewController: UIViewController

{

 

    override func viewDidLoad()

    {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

//        demo()

        demo4()

    }

    

    // MARK: 字符串子串

    func demo4()

    {

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

        let str = "我们一起去飞"

        

        let ocStr = str as NSString

        

        // 取第二个字符,取3个

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

        print("s1=\(s1)")

        

        // 2. String的方法 3.0版本

        // let r = 0..<5

        // startIndex position = 0

        print("startIndex=\(str.startIndex)")

        // endIndex postion = str.length

        print("endIndex=\(str.endIndex)")

        

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

        print("s2=\(s2)")

        

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

        print("s3=\(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)" // 8:9:6

        print(dateStr)

        

        // 08:09:06

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

        print(dateStr1)

    }

    

    // MARK: - 拼接 NSString stringWithFormate:xx

    func demo2()

    {

        let name = "tangbin"

        let age = 10

        let title: String? = "BOOS"

        let point = CGPoint(x: 100, y: 200)

        // 拼接字符串需要注意 可选项 Optional

        let str = "\(name) \(age) \(title ?? "") \(point)" // tangbin 10 BOOS (100.0, 200.0)

 

        print(str)

    }

    

    

    // 字符串的长度

    func demo1()

    {

        let str = "hello world你好"

        

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

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

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

        

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

        print(str.characters.count);

        

        // 3> 使用NSString中转

        /**

         str as NSString

         OC 的写法(NSString *)t

         Swift 中可以使用 ‘值 as 类型’ 类型转换

        */

        let ocStr = str as NSString

        print("ocStr.len=\(ocStr.length)")

//        ocStr.length

    }

 

    // MARK: - 字符串的遍历

    func demo()

    {

        let str = "我要飞得更高"

        

        for c in str.characters

        {

            print("c=\(c)")

        }

    }

 

 

}

posted on 2017-07-28 14:11  TangBin604  阅读(93)  评论(0编辑  收藏  举报

导航