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

下面介紹2種swift的字符串截取方法,實際上用到了substringFromIndex,substringToIndex,substringWithRangeswift

1.將String轉化爲NSString再截取,代碼以下:code

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類型參數值,代碼以下:ip

var s="1234567890"
let index = advance(s.startIndex, 5)
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)//67890
println(s2)//1234
println(s3)//5

經過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>
}
相關文章
相關標籤/搜索