Swift 如何使用Range截取字符串
来源:互联网 发布:网络保护软件 编辑:程序博客网 时间:2024/05/01 20:13
Swift中的Ranges和Objective-C中的NSRange有很大的不同,我发现在处理Swift中Ranges相关的问题的时候,总是要花费比我想象的更多的时间。不过,现在回过头来看看,发现Swift中的Ranges的使用还是比较合理的,但是想要正确的使用Ranges真的需要一些特别的技巧。
看一个例子,下面这段代码展示的是截取以指定的字符开头和以指定的字符结尾的子字符串:
var str = "Hello, playground" let rangeOfHello = Range(start: str.startIndex, end: advance(str.startIndex, 5))let helloStr = str.substringWithRange(rangeOfHello)helloStr //"Hello"
你可以看到,不能通过指定开始结束的Int值来获取Range,需要使用String类的startIndex和endIndex属性(String.startIndex的类型不是Int),这就是Swift Ranges特别的地方。
若想获取一个超出startIndex范围的Range,你可以使用上述代码里用到的advance的函数。advance也可以用于从结尾开始计算,所以如果你需要相对于endIndex获取index,像下面的代码一样,使用一个负数即可:
let dob = "01/01/2000" let rangeOfYear = Range(start: (advance(dob.endIndex, -4)), end: dob.endIndex)let yearStr = dob.substringWithRange(rangeOfYear)yearStr // "2000"
细细思量,Swift对于Ranges的使用十分干净和优雅,只要你熟悉了它的用法。
0 0
- Swift 如何使用Range截取字符串
- swift 字符串的截取 以及 Range 的用法
- iOS Swift字符串截取
- swift 3.0 字符串截取
- swift 字符串拼接、截取
- swift-字符串的截取
- swift中字符串截取
- Swift 中如何截取String
- Swift 随机字符串和字符串中间截取
- Swift 分割字符串与截取字符串
- javascript 如何截取字符串
- 如何截取字符串
- 如何截取字符串?
- js如何截取字符串
- mysql如何截取字符串
- 【iOS】Swift字符串截取方法的改进
- [IOS]Swift字符串截取方法的改进
- swift中字符串截取方法(substring)
- 349. Intersection of Two Arrays
- android中的定时器
- Timer定时器
- 读取 android /system/build.prop 的最简单方法
- 数学基础(一)——信息熵
- Swift 如何使用Range截取字符串
- Redis 3.2.6 Sentinel部署
- 1115. Counting Nodes in a BST (30)
- JKTEBOP在Windows下的运行
- 指针作为函数返回值
- 制作多功能播放器
- <script>标签 async与defer详解
- tensorflow 最小二乘拟合详细代码注释
- struct和typedef struct