美文网首页
Swift之字符串

Swift之字符串

作者: oh_flying | 来源:发表于2017-05-23 19:54 被阅读54次

    简单介绍一下swift的字符串的一些用法:
    首先,swift不在使用NSString,二十直接使用String。
    String是一个结构体,性能更高,可以直接遍历;
    NSString是一个OC对象,性能略差。
    看一下代码吧:

    字符串的遍历

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

    字符串的长度

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

    字符串的拼接

    // \(变量/常量)
    // *** 拼接字符串需要注意可选项 optional
    //NSStringFromCGPoint(point)
    func demo2() {
        let name = "老王"
        let age = 18;
        let title:String? = "BOSS"
        let point = CGPoint(x: 100, y: 100)
        let str = "\(name)\(age)\(title ?? "") \(point)"
        print(str)
    }
    

    字符串格式化

     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)   
    }
    

    字符串的子串

    func demo4() {
        //建议:一般使用NSString作为中转,因为swift取子串的方法一直在优化
        //更容易理解
        let str = "我们一起在飞"
        //1.NSString
        let ocStr = str as NSString
        let  s1 = ocStr.substring(with: NSMakeRange(2,3))
        print(s1)
        
        //String的3.0方法
        //偶尔使用很方便,但是复杂的截取不好理解,语法经常变化
        //let r = 0..<5
        //str.substirng(with: Range<Index)
        //Index
        //startindex position == 0
        print(str.startIndex)
        // endindex position == str.length
        print(str.endIndex)
        
       let str2 = str.substring(from: "我们".endIndex)
        print(str2)
        
        let str3 = str.substring(from: "abc".endIndex)
        print(str3)
        
        //取范围子字符串的范围
        guard let range = str.range(of: "一起") else {
            print("没有找到字符串")
            return
        }
        
        print(str.substring(with:range))
        print(range)
        
    }
    

    总结

    以上介绍了一些字符串的使用方法,也比较简单。

    相关文章

      网友评论

          本文标题:Swift之字符串

          本文链接:https://www.haomeiwen.com/subject/mmpgxxtx.html