[Swift实际操作]七、常见概念-(1).范围Range、ClosedRange和NSRange的使用实际操作
本文将为你解析区间的概念。在对字符串进行处理时,经常会使用到区间。例如获得字符串中从某个位置开始到另一个位置之间的内容。
首先导入需要使用到的框架
import Foundation
区间分为闭区间和半开区间,这里创建了一个闭区间,表示从1至3的三个数字
let closedRange:ClosedRange = 1...3
创建一个数组,并使用闭区间,获得数组中的从第2个位置开始,至第4个位置的搜游元素,并返回由这三个元素组成的数组
1 let intArray = ["1","2","3","4","5"] 2 intArray[closedRange]
接着创建一个半开区间表示从1到2的两个数字
let halfOpenRange:Range = 1..<3
获得数组中的从第2个位置开始,至第3个位置的所有元素,并返回由这两个元素组成的数组
intArray[halfOpenRange]
接着定义一个字符串
let myUrl = "www.cnblogs.com/strengthen/"
获得字符串中的一个索引位置。从起始点开始,偏移值为0,所以获得的索引为字符串的起始位置
let startIndex = myUrl.index(myUrl.startIndex, offsetBy: 0)
获得字符串中的另一个索引位置。从起点开始,向后的偏移值为10
let endIndex = myUrl.index(myUrl.startIndex,offsetBy: 10)
然后使用两个索引位置,建立一个半闭合区间
let myRange = startIndex..<endIdex
使用该区间从字符串中截取指定区间的字符串,从右侧可出被截取的字符串:"www.cnblogs"
myUrl[myRange]
NSRange也是表示区间的类,来自古老的Object-C语言。它包括位置和长度两个属性。此处定义了一个起点位置为1,长度为2的区间
let range = NSRange.init(location: 1, length: 2)
然后使用该区间截取数组中的指定元素,从右侧可以看到截取后的数组:"ww"
intArray[Range.init(range)!]
同样可以用来截取字符串,需要将字符串转换为Object-C语言中的NSString字符串类型
let myWebsite = myUrl as NSString
然后使用该区间截取从起点开始,长度为10的字符串,从右侧的结果可以看到被截取的字符串:"www.cnblogs"
myWebsite.substring(with:NSRange.init(location: 0, length: 10))