[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))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)