zoukankan      html  css  js  c++  java
  • [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))
  • 相关阅读:
    1257 背包问题 V3(二分)
    全国高校绿色计算大赛 预赛第三阶段(Python)(随机数)
    全国高校绿色计算大赛 预赛第二阶段(Python)
    全国高校绿色计算大赛 预赛第一阶段(Python)
    全国绿色计算大赛 模拟赛第二阶段 (Python)
    全国绿色计算大赛 模拟赛第一阶段(Python)
    51node 1134 最长递增子序列 (数据结构)
    提高(Android)开发效率的工具与网站
    Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)
    SharedPreferences 的另一种场景的用法
  • 原文地址:https://www.cnblogs.com/strengthen/p/9752500.html
Copyright © 2011-2022 走看看