首页 > 移动平台 > 详细

iOS: 在Swift中优雅的实现Substring

时间:2014-10-31 18:55:05      阅读:319      评论:0      收藏:0      [点我收藏+]

在Swift中,当我们想要截取某个字符串时,方法如下:

let carNumber = "沪A12345"
let startIndex = advance(userCar.carPlateNumber.startIndex, 0)
let endIndex = advance(startIndex, 1)
let range = startIndex..<endIndex
println(carNumber[range]) // 输出沪


呃,好怀念substring方法啊,那我们就自己实现一个吧。

extension String {
    subscript (r: Range<Int>) -> String {
        get {
            let startIndex = advance(self.startIndex, r.startIndex)
            let endIndex = advance(startIndex, r.endIndex - r.startIndex)
            
            return self[Range(start: startIndex, end: endIndex)]
        }
    }
}


调用很简单,示例如下:

var s = "Hello, playground"
println(s[0...5]) // ==> "Hello,"
println(s[0..<5]) // ==> "Hello"


感谢Rob Napier http://stackoverflow.com/questions/24044851/how-do-you-use-string-substringwithrange-or-how-do-ranges-work-in-swift

iOS: 在Swift中优雅的实现Substring

原文:http://www.cnblogs.com/ilovewindy/p/4065749.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!