Swift 4.0:字符串索引用法 String Indices

字符串String类型的变量中包含一种String.Index类型的变量,用于索引字符串中对应的字符。

startIndex是获取字符创中的第一个字符的索引,endIndex是字符串中最后一个字符的后一个字符的索引。因此,endIndex是字符串索引种的非法下标,超出了字符串的范围。

let greeting = "Guten Tag!"

greeting[greeting.startIndex] // 输出 G

greeting[greeting.endIndex] // 在编译时就会报错

主要函数:

1. index(before:) 输出给定索引的前一个索引

greeting[greeting.index(before:greeting.endIndex)] // 输出 !

2. index(after:) 输出给定索引的后一个索引

greeting[greeting.index(after:greeting.startIndex)] // 输出 u

3. index( _:, offsetBy:)   输出给定索引偏移指定量的索引, 只要不超出string的边界,输入的偏移量可以为负值

let index =greeting.index(greeting.startIndex, offsetBy:7)

greeting[index] // 输出 a

String的indices属性:

通过string的indices属性可以更容易地遍历string中的所有字符

for index in greeting.indices {

    print("\(greeting[index]) ", terminator:"")

}  // 输出 "G u t e n T a g ! "

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 53.计算字符 在字符串中获取字符值的数量, 可以使用字符串字符属性中的计数属性: let unusualMena...
    无沣阅读 1,151评论 0 4
  • 1 .字符串字面量 String 在Swift中字符串字面量是由双引号" " 包裹着的 像我们在 Swift 3 ...
    iceMaple阅读 1,173评论 1 2
  • 别名:typealias 元组:(,,...) 可选类型:? 隐式解析可选类型:!可选类型被第一次赋值之后就可以确...
    齐舞647阅读 456评论 0 0
  • 小时候,我和哥哥可要好呢!哥哥比我大好几岁,我这个小妹妹最喜欢跟在他的后面,他做什么我就做什么。那时的我,就是一个...
    红莲叶阅读 578评论 21 17
  • 相逢的时候确实太晚了 世间已 落木满天 灯火阑珊 而我曾经无暇的心 已 伤痕累累 因此在那个邂逅的路口 在初遇的刹...
    生命行者阅读 251评论 0 1