无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站虚位以待
虚位以待广告联系 QQ:184822951 微信:wuyouceoidc大全★服务器租用★香港/5M/450元
查看: 1333|回复: 3

swift中字符串截取方法(substring)

[复制链接]
发表于 2014-11-14 00:30:34 | 显示全部楼层 |阅读模式
下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange

1.将String转化为NSString再截取,代码如下:

  1. var s="1234567890"

  2. var ns1=(s as NSString).substringFromIndex(5)
  3. var ns2=(s as NSString).substringToIndex(4)

  4. var ns3=(s as NSString).substringWithRange(NSMakeRange(4, 1))

  5. println(ns1)//67890
  6. println(ns2)//1234
  7. println(ns3)//5
复制代码


2.直接调用String的对应方法(推荐使用该方法),由于String对应的方法参数是String.Index类型而非Int类型,所以我们首先要创建String.Index类型参数值,代码如下:

  1. var s="1234567890"

  2. let index = advance(s.startIndex, 5)
  3. let index2 = advance(s.endIndex, -6);
  4. var range = Range<String.Index>(start: index2,end: index)

  5. var s1:String=s.substringFromIndex(index)
  6. var s2:String=s.substringToIndex(index2)
  7. var s3=s.substringWithRange(range)

  8. println(s1)//67890
  9. println(s2)//1234
  10. println(s3)//5
复制代码


通过String定义可以看出属性Index是个结构体,具体代码如下:

  1. extension String : CollectionType {
  2.     struct Index : BidirectionalIndexType, Comparable, Reflectable {
  3.         func successor() -> String.Index
  4.         func predecessor() -> String.Index
  5.         func getMirror() -> MirrorType
  6.     }
  7.     var startIndex: String.Index { get }
  8.     var endIndex: String.Index { get }
  9.     subscript (i: String.Index) -> Character { get }
  10.     func generate() -> IndexingGenerator<String>
  11. }
复制代码
发表于 2014-12-9 18:09:44 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2016-4-11 22:32:17 | 显示全部楼层
好人一个啊












来源:立体车库网(www.xpxpxpxp.cn)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-1-21 00:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表