2017-3-5 更新
—————— 以下为Swift 3.0 的方法 ——————————
let str = "hello world!"
str[str.startIndex]
打印结果:
//h
//访问其结束前一个字符
//str[str.endIndex.predecessor()]
//在Swift3.0 predecessor使用以下代替:
str[str.index(before: str.endIndex)]
打印结果:
//!
//访问其开始后一个字符
str[str.startIndex.successor()]
//在Swift3.0 successor使用以下代替:
str[str.index(after: str.startIndex)]
打印结果:
//e
//访问其开始后一个字符
let index = str.startIndex.advancedBy(7)
//在Swift3.0 advancedBy使用以下代替:
let index = str.index(str.startIndex, offsetBy: 7)
打印结果:
//7
str[index]
打印结果:
//输出 o
—————— 以下为Swift 2.0 的方法 ——————————
在截取字符串时遇到几个没用过的函数特此记.
startIndex:访问String第一个位置的字符
endIndex: 访问String最后一个位置的字符
predecessor(), successor(), advancedBy()
一个String.Index值可以通过调用predecessor()方法来访问其前一个index,
调用successor()来访问其后一个index
调用advancedBy()来指定访问相对位置的index
let str = "hello world!"
str[str.startIndex]
打印结果:
//h
//访问其结束前一个字符
str[str.endIndex.predecessor()]
打印结果:
//!
//访问其开始后一个字符
str[str.startIndex.successor()]
打印结果:
//e
//访问其开始后一个字符
let index = str.startIndex.advancedBy(7)
打印结果:
//7
str[index]
打印结果:
//输出 o