下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex
,substringToIndex
,244)">substringWithRange
- var s="1234567890"
-
- var ns1=(s as NSString).substringFromIndex(5)
- var ns2=(s NSString).substringToIndex(4)
-
- var ns3=(s NSString).substringWithRange(NSMakeRange(4,1))
-
- println(ns1)//67890
- println(ns2)//1234
- println(ns3)//5
2.直接调用String
的对应方法(推荐使用该方法),由于String
对应的方法参数是String.Index
类型而非Int
类型,所以我们首先要创建String.Index
类型参数值,145)">let index = advance(s.startIndex,145)">let index2 = advance(s.endIndex,-6);
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)
println(s1)println(s2)println(s3) 通过String
定义可以看出属性Index
是个结构体,具体代码如下:
- extension String : CollectionType {
- struct Index : BidirectionalIndexType,Comparable,153)">Reflectable {
- func successor() -> Index
- func predecessor() -> func getMirror() -> MirrorType
- }
- var startIndex: Index { get }
- var endIndex: subscript (i: Index) -> Character { get }
- func generate() -> IndexingGenerator<String>
- }