swift-10字符串

2017-08-30  本文已影响6人  sunmumu1222

我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己的一份文档.

字符串的子串

    func demo3() {
        let str = "我们一起飞"
        //1 建议: 一般使用NSString 作为中转 很容易理解
        let ocStr = str as NSString
        let s1 = ocStr.substring(with: NSMakeRange(2, 3))
        print(s1)
        
        //2 String 3.0方法  
        //偶尔使用很方便 但是复杂的截取 不好理解 而且语法经常变化
        //let r = 0..<5
        print(str.startIndex)
        print(str.endIndex)
        
        let s2 = str.substring(from: "我们".endIndex)
        print(s2)
        let s3 = str.substring(from: "123".endIndex)
        print(s3)
        //取子字符串的范围
        guard let range = str.range(of: "一起") else {
            print("没有找到字符串")
            return
        }
        
        print("-----")
        print(range)
        print(str.substring(with: range))
    }

拼接字符串

    func demo2() {
        let name = "老王"
        let age = 18
        let title: String? = nil//= "BOSS"
        let point = CGPoint(x: 100, y: 200)
        
        /*
            oc      NSStringWithFormart:xxx
            swift   \(常量/变量)
                    需要注意可选项 optional
                    NSStringFromCGPoint(point)
         
         */
        let str = "\(name) \(age) \(title) \(point)"
        print(str)
    }

字符串长度

    func demo1() {
       //法一
        //返回的是指定编码的对应的字节数量
        //utf8 的编码(0~4个) 每个汉字是3个字节
        let str = "hello world你好"
        print(str.lengthOfBytes(using: .utf8))
        //法二
        //字符串长度 返回字符串的个数(推荐使用)
        print(str.characters.count)
        //法三
        //使用NSString 中转
        /*
            str as NSString
            oc 的写法 (SGPTableViewCell *) [tableView dequeue
            swift 中可以使用 '值 as 类型' 类型转换
         
         */
        let ocStr = str as NSString
        print(ocStr.length)
    }

字符串的遍历

    func demo() {
        //字符串的遍历
        // NSString 不支持以下方式遍历
        let str: String = "我要飞得更高"
        for c in str.characters {
            print(c)
        }
    }
上一篇下一篇

猜你喜欢

热点阅读