swift中字符串截取方法(substring)
2016-05-03 16:54
477 查看
下面介绍2种swift的字符串截取方法,实际上用到了
1.将
2.直接调用
通过
substringFromIndex,
substringToIndex,
substringWithRange
1.将
String转化为
NSString再截取,代码如下:
var s="1234567890" var ns1=(s as NSString).substringFromIndex(5) var ns2=(s as NSString).substringToIndex(4) var ns3=(s as NSString).substringWithRange(NSMakeRange(4, 1)) println(ns1)//67890 println(ns2)//1234 println(ns3)//5
2.直接调用
String的对应方法(推荐使用该方法),由于
String对应的方法参数是
String.Index类型而非
Int类型,所以我们首先要创建
String.Index类型参数值,代码如下:
// var s="1234567890" // let index = advance(s.startIndex, 5) swift 1.x //let index2 = advance(s.endIndex, -6); swift 1.x var s="1234567890" let index = s.startIndex.advancedBy(5) //swift 2.0+ let index2 = s.endIndex.advancedBy(-6) //swift 2.0+ var range = Range<String.Index>(start: index2,end: index) var s1:String=s.substringFromIndex(index) var s2:String=s.substringToIndex(index2) var s3=s.substringWithRange(range) print(s1)//67890 print(s2)//1234 print(s3)//5 // 扩展String extension String { subscript (r: Range<Int>) -> String { get { let startIndex = self.startIndex.advancedBy(r.startIndex) let endIndex = self.startIndex.advancedBy(r.endIndex) return self[Range(start: startIndex, end: endIndex)] } } } var s4 = s[2...4] print(s4);//345
通过
String定义可以看出属性
Index是个结构体,具体代码如下:
extension String : CollectionType { struct Index : BidirectionalIndexType, Comparable, Reflectable { func successor() -> String.Index func predecessor() -> String.Index func getMirror() -> MirrorType } var startIndex: String.Index { get } var endIndex: String.Index { get } subscript (i: String.Index) -> Character { get } func generate() -> IndexingGenerator<String> }
相关文章推荐
- Swift2.0系列]Error Handling(项目应用篇)
- Swift 可选代理实现 怎么写?
- Swift 根据文字字体的大小得到size
- Swift 自动布局
- Oc与Swift混编------如何创建头文件(桥接)
- Swift 单例
- SWIFT中的单行代码
- swift 懒加载
- Swift中面向协议的Segue Identifiers
- Swift专栏:第二章 Swift基础语法(一)
- Swift开发:解析xml文件案例
- Swift开发:AutoResizing实现自动布局
- 关于Xcode正确运行swift多线程
- Swift -- 3.运算符与表达式
- iOS学习笔记49-Swift(九)访问控制
- iOS学习笔记49-Swift(九)访问控制
- Swift使用CoreData
- Yii2使用swiftmailer发送邮件的方法
- swift和 oc 混编2-备
- Swift—Core Foundation框架-备