下面介绍2种swift的字符串截取方法,实际上用到了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.xvar 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// 扩展Stringextension 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.Indexfunc predecessor() -> String.Indexfunc getMirror() -> MirrorType}var startIndex: String.Index { get }var endIndex: String.Index { get }subscript (i: String.Index) -> Character { get }func generate() -> IndexingGenerator<String>
}

swift中字符串截取方法(substring)相关推荐

  1. JS之字符串截取方法substring

    作用:substring() 方法用于提取字符串中介于两个指定下标之间的字符 语法:stringObject.substring(start,stop) 参数1:必需.一个非负的整数,规定要提取的子串 ...

  2. Swift 中字符串截取的几种常见情况

    截取前 n 个字符: let str = "Hello, Swift!" let prefix = str.prefix(5) print(prefix) // "Hel ...

  3. SQL中字符串截取函数(SUBSTRING)

    1.left(name,4)截取左边的4个字符 列: SELECT LEFT(201809,4) 年 结果:2018 2.right(name,2)截取右边的2个字符 SELECT RIGHT(201 ...

  4. java解析字符串方法_java字符串的截取方法substring()代码解析

    这篇文章主要介绍了java字符串的截取方法substring()代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 返回位于 String 对象 ...

  5. mysql数据库中_截取数据_mysql数据库的字符串截取方法

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  6. Android String字符串截取方法总结

    Android String字符串截取方法总结 指定字符,截取字符串,返回字符串数组: String str = "abcd.efg.123456.hijk.345"; Strin ...

  7. php mysql字符串截取比较读取_MySQL_Mysql字符串截取函数SUBSTRING的用法说明,感觉上MySQL的字符串函数截取 - phpStudy...

    Mysql字符串截取函数SUBSTRING的用法说明 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取 ...

  8. mysql截取字符串最后两位_Mysql字符串截取函数SUBSTRING的用法说明

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:le ...

  9. mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明

    今天建视图时,用到了MySQL中的字符串截取,很是方便 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截 ...

最新文章

  1. 超级账本(Hyperledger Fabric)之权限管理浅析
  2. 云效平台:企业级互联网架构下的持续集成与持续交付实践
  3. selector-UI元素状态伪类
  4. Hadoop系列三:Hadoop之Pig篇
  5. .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
  6. windows设备坐标和逻辑坐标的转换
  7. mongodb数组更新操作符$addToSet
  8. 【英语学习】【WOTD】emote 释义/词源/示例
  9. 【CSS】【7】CSS的盒子模型
  10. DJ-ZBS2漏电继电器
  11. pandas求协方差、相关系数、显著性检验
  12. word自动生成目录的最后一个大标题页码前没有点点点连接线解决方案
  13. 前端最常用的移动App开发方式及技术栈详解
  14. Mesh网络,让世界“雾”起来 | INE创始人熊羽睿演讲实录
  15. 单位根检验urdf_R语言时间序列函数整理[转]]
  16. 极限题型一:求函数极限常见题型
  17. python随机密码生成器_python实例--随机密码生成器
  18. ug建模减速器_UG做一级减速器设计方法,毕业设计不用愁啦!
  19. Docker使用普通用户运行
  20. Mxnet (45): 使用sequence-aware recommender(Caser模型)进行电影推荐

热门文章

  1. 在Win 2003中配置ASP.net环境
  2. vc picture控件载入背景图,随控件大小改变
  3. 朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型
  4. Windows和Linux下通用的线程接口
  5. 【linux】Valgrind工具集详解(十五):Callgrind(性能分析图)
  6. 【linux】top命令详解
  7. #每天一种设计模式# 观察者模式
  8. android intent email,Android Email Intent
  9. python web游戏实例_python实现的简单文本类游戏实例
  10. 加载vue文件步骤_无法在重新加载时读取vue文件