• [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))
  • 相关阅读:
    P1019 单词接龙
    P1219 八皇后
    Find a way
    P1056 排座椅
    P1067 多项式输出
    关于前缀和,A
    洛谷P1223
    洛谷P1803
    洛谷P1208
    常用方法 Excel转换为DataSet
  • 原文地址:https://www.cnblogs.com/strengthen/p/9752500.html
Copyright © 2020-2023  润新知