字符串String

/**

字符串

Swift 中是 String 类型

    结构体

    量级更轻

    苹果推荐使用

    支持直接遍历

     

OC NSString 类型

        继承自 NSObject 的对象

    NSString 不支持遍历

*/



func demo() {
        let name: String = "张三"
        let age = 18
        
        let center = view.center
        
        // 字符串的拼接 \(变量名) 方式
        print("\(name) \(age) \(center)")
    }

 // 字符串的遍历

    func demo2() {
        let string = "hello world!"
        
        for c in string.characters {
            print(c)
        }
    }

 // 字符串的长度

    func demo3() {
        let string = "你好世界Hello"
        
        // 一个中文的 UTF 对应3个字节,返回的C语言的字符串长度
        print(string.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
        
        // 返回字符串中的字符数量 - 字符串的长度!
        print(string.characters.count)
    }

    // 格式化字符串

    func demo4() {
        let h = 8
        let m = 5
        let s = 6
        
        print("\(h):\(m):\(s)")
        
        // 如果需要使用格式字符串的时候,可以单独使用 String(format: xxx)
        let dateString = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
        print(dateString)
        
        // 可以直接在格式字符串后面添加 参数,用 逗号分隔
        let dateString2 = String(format: "%02d:%02d:%02d", h, m, s)
        print(dateString2)
    }

 // 字符串的子串,提示:在 Swift String 取子串不是特别好写,建议使用 NSString

    func demo5() {
        
        let str = "hello world"
        let s1 = (str as NSString).substringWithRange(NSMakeRange(2, 5))
        print(s1)
        
        // --- 提示 -- 以下代码仅供参考,Swift语法中,变化最频繁
        let s2 = str.substringFromIndex("1234".endIndex)
        print(s2)
        
        // 指定范围 ..<
        // advancedBy 正数,向右移动,负数向左移动
        let startIndex = str.startIndex.advancedBy(2)     // 0
        let endIndex = str.endIndex.advancedBy(-2)         // 11
        
        let range = startIndex..<endIndex
        
        let s3 = str.substringWithRange(range)
        print(s3)
    }




转载于:https://my.oschina.net/TaciturnKnightYQ/blog/538620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值