1、通过索引获取字符
var str = "Hello, Swift"
// 不可以使用[]获取
//str[0] 错误
str.characters[0] //"H"
2、索引的用法
// advancedBy
str[startIndex.advancedBy(5)] //","
startIndex
let spaceIndex = startIndex.advancedBy(6)
spaceIndex //"6"
str[spaceIndex] //" "
// predecessor 和 succesor
str[spaceIndex.predecessor()] //前一个 ","
str[spaceIndex.successor()] //后一个 "s"
// endIndex
let endIndex = str.endIndex //12
//*不是最后一个,而是最后一个的前一个
//[startIndex, endIndex)
//str[endIndex] 错误的
str[endIndex.predecessor()]
3、Rang的使用
// Range
str[startIndex..<spaceIndex] //"Hello,"
let range = startIndex..<spaceIndex.predecessor()//0..<5
str.replaceRange(range, with: "Hi")//替换 "Hi,Swift"
str.appendContentsOf("!!!")//"Hi,Swift!!!"
str.insert("?", atIndex: str.endIndex)//"Hi,Swift!!!?"
str.removeAtIndex( str.endIndex.predecessor() )//"?"
str //"Hi,Swift!!!"
str.removeRange( str.endIndex.advancedBy(-2)..<str.endIndex )//"Hi,Swift!"区间remove