swift3.0升级变化之字符串截取

2016年9月8日苹果秋季发布会举行,同时发布了Xcode8以及swift3.0。swift3.0的变化之大,让所有使用swift开发语言的程序员们全部蛋疼。灰常不幸,HS项目也是如此,所以不敢贸然升级,故在此一点积累一些3.0与2.0的不同点,尽管有点慢,但,聊胜于无,以后慢慢积累,慢慢更新

从字符串截取说起

说到字符串截取,必然要有一个范围的概念,首先想到的是索引,和range,在OC中 NSRange 的初始化和使用都比较简单,但在swift中使用的貌似不多,所以不知道咋写,今天找到一篇帖子,大致看了一下,那么2.0和3.0的不用,就从这里说起

2.x的字符串截取代码

        let s="1234567890"
        let index = s.startIndex.advancedBy(5) 
        let index2 = s.endIndex.advancedBy(-6) 
        var range = Range(start: index2,end: index)
        var s1:String=s.substringFromIndex(index)
        var s2:String=s.substringToIndex(index2)
        var s3=s.substringWithRange(range)

3.x的写法

        let index = s.index(s.startIndex, offsetBy: 5) 
        let index2 = s.index(s.endIndex, offsetBy: -6) 
        let range = (index2 ..< index)
        let s1 = s.substring(from: index)
        let s2 = s.substring(to: index2)
        let s3 = s.substring(with: range)

通过对比发现,3.0的写法确实比较更简洁一点

你可能感兴趣的:(swift3.0升级变化之字符串截取)