swift的一些基本属性6 (字符串)

来源:互联网 发布:更新tensorflow版本 编辑:程序博客网 时间:2024/06/01 10:10

-字符串

 Swift String,是一个结构体,量级更轻,效率略高,推荐使用

            可以支持遍历

  OC      NSString,是继承自 NSObject 的对象

/// 遍历字符串    func demo() {        // String        let string: String = "飞的更高"        // 遍历字符串        for c in string.characters {            print(c)        }    }}

 /// 字符串拼接    func demo2() {        let name = "zhangsan"        let age = 18        let point = self.view.center                // 格式 "\(变量/常量名)"        // 告别了 -> NSStringStringWithCGPoint        print("\(name) ~~~ \(age) \(point)")    }

/// 长度    func demo3() {        let name = "hello world你好世界"        // 将字符串转换成对应编码 UTF8 字节的长度        // 一个中文对应的 UTF8 编码占 3 个字节        // UTF8 的字符,占用字节数为 1~4 个        print(name.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))        // 获得字符串中字符的个数        print(name.characters.count)        // as 是类型转换 => OC (CZDemoCell *)UITableViewCell        let ocName = name as NSString        print(ocName.length)    }

/// 子串 - 方便的方法,转换成 NSString    func demo5() {        let str = "我们一起去飞"        // 1. 方法1,使用 NSString        let subStr1 = (str as NSString).substringWithRange(NSMakeRange(2, 4))        print(subStr1)

  2. 方法2,Swift的语法

       startIndex 是字符串的起始索引位置 -> 0

       endIndex 是字符串的结束的索引位置 -> count

       advancedBy 是将索引递进的函数

       n > 0 向右递进 n 个字符

       n < 0 向左递进 n 个字符

let subStr2 = str.substringFromIndex(str.startIndex.advancedBy(2))        print(subStr2)        // can not increment endIndex,不允许递增 endIndex,会出现越界        let subStr3 = str.substringToIndex(str.endIndex.advancedBy(-2))        print(subStr3)        // 从 Xcode 7 beta 5 开始就固定了格式了        let startIndex = str.startIndex //.advancedBy(2)        let endIndex = str.endIndex //.advancedBy(-2)        print(startIndex)        print(endIndex)        // 提示如果 范围越界,会崩溃        let subStr4 = str.substringWithRange(startIndex..<endIndex)        print(subStr4)    }



0 0
原创粉丝点击