[Swift实际操作]七、常见概念,1.范围Range、ClosedRange和NSRange的使用实际操作

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

本文将为你解析区间的概念。在对字符串进行处理时,经常会使用到区间。例如获得字符串中从某个位置开始到另一个位置之间的内容。

首先导入需要使用到的框架

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))