您可以通过其方法和属性或使用下标语法来访问和修改字符串。
字符串索引
每个String值都有一个关联的索引类型,String.Index它对应Character于字符串中每个值的位置。
如上所述,不同的字符可能需要不同的内存量来存储,因此为了确定哪个Character位于特定位置,您必须从开头或结尾迭代每个Unicode标量String。因此,Swift字符串不能用整数值索引。
使用该startIndex属性访问第一个Character的位置String。该endIndex属性是a中最后一个字符后的位置String。因此,该endIndex属性不是字符串下标的有效参数。如果a String是空的,startIndex并且endIndex是相等的。
您可以使用index(before:)和index(after:)方法访问给定索引之前和之后的索引String。要访问远离给定索引的索引,可以使用该index(_:offsetBy:)方法而不是多次调用其中一种方法。
您可以使用下标语法来访问Character特定String索引。
let greeting = "Guten Tag!"
greeting[greeting.startIndex]
// G
greeting[greeting.index(before: greeting.endIndex)]
// !
greeting[greeting.index(after: greeting.startIndex)]
// u
let index = greeting.index(greeting.startIndex, offsetBy: 7)