美文网首页
swift 3.0 的字符串用法

swift 3.0 的字符串用法

作者: 家电维修技师 | 来源:发表于2017-03-30 20:40 被阅读0次

    // 取得字符串数字下标的方法
    func index(str: String, subIndex: Int) -> String {

    //let subIndex = 1
    
    // 截取从第 subIndex (传入的值)位开始
    let start = str.index(str.startIndex, offsetBy: subIndex)
    // 取到从第 subIndex (传入的值) 位开始的所有字符
    let newStr = str.substring(from: start)
    // 取从 subIndex 位开始后的多少个数,这里写的是 1,那么就只取从开头开始的那个数字
    let end = newStr.index(newStr.startIndex, offsetBy: 1)
    //从新创建的字符串 (newStr) 开始取 从subIndex 到 offsetBy (1)位
    let sub = newStr.substring(to: end)
    
    return sub
    

    }

    let num = index(str: str, subIndex: 0)

    print(num)

    // 简化版为
    var str = "12345678"

    func index(str: String, subIndex: Int) -> String {

    // 从旧的字符串的(传入的字符串)的第 subIndex(传入的值)位开始创建一个新的字符串
    let newStr = str.substring(from: str.index(str.startIndex, offsetBy: subIndex))
    // 从新创建的字符串 (newStr) 开始取 从subIndex 到 offsetBy (1)位创建一个新字符串
    let sub = newStr.substring(to: newStr.index(newStr.startIndex, offsetBy: 1))
    
    return sub
    

    }

    let num = index(str: str, subIndex: 0)

    print(num)

    //------------------

    var string = "Hello-Swift"
    //获取某个下标后一个下标对应的字符 char="e"
    //swift2.2
    //var char = string[startIndex.successor()]
    //swift3.0
    var char = string[string.index(after: startIndex)]
    //获取某个下标前一个下标对应的字符 char2 = "t"
    //swift2.2
    //var char2 = string[endIndex.predecessor()]
    //swift3.0
    var char2 = string[string.index(before: string.endIndex)]
    //通过范围获取字符串中的一个子串 Hello
    //swift2.2
    //var subString = string[startIndex...startIndex.advancedBy(4)]
    //swift3.0
    var subString = string[startIndex...string.index(startIndex, offsetBy: 4)]
    //swift2.2
    //var subString2 = string[endIndex.advancedBy(-5)...endIndex.predecessor()]
    //swift3.0
    var subString2 = string[string.index(endIndex, offsetBy: -5)..<endIndex]
    //获取某个子串在父串中的范围
    //swift2.2
    //var range = string.rangeOfString("Hello")
    //swift3.0
    var range = string.range(of: "Hello")
    //追加字符串操作 此时string = "Hello-Swift! Hello-World"
    //swift2.2
    //string.appendContentsOf(" Hello-World")
    //swift3.0
    string.append(" Hello-World")
    //在指定位置插入一个字符 此时string = "Hello-Swift!~ Hello-World"
    //swift2.2
    //string.insert("~", atIndex: string.startIndex.advancedBy(12))
    //swift3.0
    string.insert("~", at: string.index(string.startIndex, offsetBy: 12))
    //在指定位置插入一组字符 此时string = "Hello-Swift!~~~~ Hello-World"
    //swift2.2
    //string.insertContentsOf(["","","~"], at: string.startIndex.advancedBy(12))
    //swift3.0
    string.insert(contentsOf: ["","","~"], at: string.index(string.startIndex, offsetBy: 12))
    //在指定范围替换一个字符串 此时string = "Hi-Swift!~~~~ Hello-World"
    //swift2.2
    //string.replaceRange(string.startIndex...string.startIndex.advancedBy(4), with: "Hi")
    //swift3.0
    string.replaceSubrange(string.startIndex...string.index(string.startIndex, offsetBy: 4), with: "Hi")
    //在指定位置删除一个字符 此时string = "Hi-Swift!~~~~ Hello-Worl"
    //swift2.2
    //string.removeAtIndex(string.endIndex.predecessor())
    //swift3.0
    string.remove(at: string.index(before:string.endIndex))
    //删除指定范围的字符 此时string = "Swift!~~~~ Hello-Worl"
    //swift2.2
    //string.removeRange(string.startIndex...string.startIndex.advancedBy(2))
    //swift3.0
    string.removeSubrange(string.startIndex...string.index(string.startIndex, offsetBy: 2))
    var string2 = "My name is Jaki"
    //全部转换为大写
    //swift2.2
    //string2 = string2.uppercaseString
    //swift3.0
    string2 = string2.uppercased()
    //全部转换为小写
    //swift2.2
    //string2 = string2.lowercaseString
    //swift3.0
    string2 = string2.lowercased()

    相关文章

      网友评论

          本文标题:swift 3.0 的字符串用法

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