Swift开发者

String截取子字符串

2017-04-15  本文已影响41人  远辰jt

1,String类型提供的截取字符串的方法

str.substring(with: Range)

str.substring(to: String.Index)

str.substring(from: String.Index)

2,我们发现参数都和String.Index有关那么String.Index是什么类型呢?

print(str2)

print(str2[str2.startIndex])

//注意String的endIndex不能作为访问其中字符的下标因为endIndex始终指向最后一个字符后面

print(str2[str2.index(before: str2.endIndex)])

print(str2[str2.index(after: str2.startIndex)])

print(str2[str2.index(str2.startIndex, offsetBy: 2)])

3,知道了String.Index那么Range<String.Index>就是字符串索引类型的范围用...或者..<来表示

        // 截取子字符串
        var str = "hello, world!  telephone =12345"
        let startIndex = str.startIndex
        let endIndex = str.index(str.endIndex, offsetBy: -5)
        let range = startIndex..<endIndex  // 注意 这里不能包含endIndex  不然会报错 Cannot convert value of type 'ClosedRange<String.Index>'  to expected argument type 'Range<String.Index>'
        let subStr = str.substring(with: range)
        print(subStr)

4,注意点

上一篇 下一篇

猜你喜欢

热点阅读