美文网首页
Swift4 字符串截取

Swift4 字符串截取

作者: Lin__Chuan | 来源:发表于2018-04-01 16:38 被阅读1247次

    Swift 字符串字面量(String literal)介绍

    字符串字面量(string literal)是一段双引号括起来的多字节字符序列,C/C++将其实现为具有静态存储连续性的字符数组。那么他属于字符串常量吗? C中的常量只包括下列四种:

    • 整数常量、浮点常量、枚举常量和字符常量

    在Swift中, 每个字符由一个或多个Unicode标量(Unicode scalar), 一个Unicode标量对应某种给定语言中的一个基本字符.

    let oneCode = "\u{1F60E}"   // 这是一个笑脸, 引号内部是 Unicode标量(Unicode scalar), 他是21位的数, 表示Unicode标准中的一个特定字符
    let twoCode = "\u{0061}"    // 大括号里面是十六进制数
    
    let s = "hello,world"
    for scalar in s.unicodeScalars {
    //    print(scalar.value)  Unicode标量的十进制数
    //    104 101 108 108 111 44 119 111 114 108 100
    //    let hexValue = String(scalar.value, radix: 16, uppercase: false)
    //    print(hexValue)      Unicode标量的十六进制数
    //     68 65 6c 6c 6f 2c 77 6f 72 6c 64
    }
    print("\u{0068},\u{0065},\u{006c},\u{006c},\u{006f}")  // h, e, l, l, o
    
    

    Swift 字符串截取

    index 为 String.Index 类型

    
    let newStr = String(str[..<index]) // = str.substring(to: index) In Swift 3
    let newStr = String(str[index...]) // = str.substring(from: index) In Swif 3
    let newStr = String(str[range]) // = str.substring(with: range) In Swift 3
    
    

    细节用法

    var str: String = "0123456789"  
    let start = str.index(str.startIndex, offsetBy: 3);  
    let str1 = String(str[start...])
    print(str1) //3456789  
      
    let end = str.index(str.endIndex, offsetBy: -3)  
    let str2 = String(str[..<end])  
    print(str2) //0123456  
      
    let range = Range<String.Index>(uncheckedBounds: (lower: start, upper: end))  
    let str3 = String(str[range]) 
    print(str3) //3456 
    

    由以上可以直接写分类

    相关文章

      网友评论

          本文标题:Swift4 字符串截取

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