Swift3.0 实用的截取字符串方法封装
来源:互联网 发布:鬼吹灯 简介 知乎 编辑:程序博客网 时间:2024/05/24 00:21
使用swift开发,一定会对 String 的截取感到不适应,本文通过类拓展的方式给String 类型的字符串增加了一些截取方法,简单实用
先看看实用效果,有没有很简单!!!
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let str = "hello,swift!" print(str[1]) //打印结果: e print(str[2,4])//打印结果: llo print(str[1...2])//打印结果: el print(str.subString(to: 3))//打印结果: hel print(str.subString(from: 3))//打印结果: lo,swift! print(str.subString(location: 1, length: 3))//打印结果: ell }
实现方法
extension String { /// 截取 from 位置后的所有字符,from 超过字符串长度,返回空字符 "" func subString(from: Int) -> String { if from >= self.characters.count { return "" } let rang = self.index(startIndex, offsetBy: from)..<self.endIndex return self[rang] } /// 从起始位置开始截取到 to 位置的所有字符,to 超过字符串长度,返回整个字符串 func subString(to: Int) -> String { if to >= self.characters.count { return self; } let rang = self.startIndex..<self.index(startIndex, offsetBy: to) return self[rang] } /// 截取 location 位置后的 length位长度的字符,location 超过字符串长度,返回空字符 ""; /// location + length 超过字符串长度,返回 location 位置后的所有字符 func subString(location:Int, length:Int) -> String { if location >= self.characters.count { return "" } if location + length >= self.characters.count { return self } let locationIndex = self.index(startIndex, offsetBy: location) let range = locationIndex..<self.index(locationIndex, offsetBy: length) return self[range] } /// 下标的方式截取字符串; string[1,3] 截取 1~3位的字符串 subscript(begin: Int, end:Int) -> String { if begin >= self.characters.count { return "" } if end >= self.characters.count { return subString(from: begin) } let range = self.index(startIndex, offsetBy: begin)...self.index(startIndex, offsetBy: end) return self[range] } /// 下标的方式截取字符串; string[1...3] 截取 1~3位的字符串 subscript(range:ClosedRange<Int>) -> String { if range.lowerBound >= self.characters.count { return "" } if range.upperBound >= self.characters.count { return subString(from: range.lowerBound) } let range = self.index(startIndex, offsetBy: range.lowerBound )...self.index(startIndex, offsetBy: range.upperBound) return self[range] } /// 下标的方式截取字符串; string[1] 截取 位置为1 处的字符 subscript(idx: Int) ->String { return subString(location: idx, length: 1) }}
如有问题,欢迎评论交流!
1 0
- Swift3.0 实用的截取字符串方法封装
- Swift3.0 截取字符串
- swift3.0 中字符串截取
- swift3.0 中字符串截取
- 两个截取字符串的实用方法
- 两个截取字符串的实用方法
- swift3.0字符串截取,字符串处理
- swift3.0使用下标截取字符串
- ASP.NET两个截取字符串的实用方法技巧
- ASP.NET技巧:两个截取字符串的实用方法
- swift3.0中String.Index截取字符串方法,很方便哦
- 在TP3.2中封装字符串截取的方法
- Swift3.0语言教程分割字符串与截取字符串
- Swift3 String.Index 字符串截取
- Swift3.1字符串截取操作
- 截取字符串的方法
- Swift3.0 MBProgressHUD的封装使用
- 两个截取字符串的实用方法(超过一定长度自动换行)
- iOS解决NSArray、NSDictionary打印乱码问题
- Server returned HTTP response code: 505 问题解决
- 欢迎使用CSDN-markdown编辑器
- 正则表达式匹配
- Hadoop核心机制详细解析
- Swift3.0 实用的截取字符串方法封装
- DDI DEV DRV 之间的关系
- java面试题和答案(下)
- Anton and Fairy Tale
- c#中蹒跚学步
- 兔子藏洞
- 教你用最简单的方法使用requirejs
- Hbase、mongodb、redis
- wireshark使用详解