[Swift] 五、String 索引操作

一、String.Index

  • String 值的索引是 StringIndex 类型,不是 Int 类型
  • index 不是字符串下标参数, 而是字符所在字符串中的位置
  • startIndex:非空字符串中第一个 character的位置
  • endIndex:字符串的“超过结尾”的位置; 也就是说比位置大一
  • 若字符串为空,则 startIndex 与 endIndex相等

二、访问字符串中的字符

1、获取字符串中第一个字符

var str = "Hello word!"
str[str.startIndex]  // 输出:H

2、获取第二个字符

var str = "Hello word!"
str[str.index(str.startIndex, offsetBy: 1)]  // 输出:e

3、获取字符串中最后一个字符

var str = "Hello word!"
str[str.index(before: str.endIndex)]  // 输出:!

因为str.endIndex指向的是最后一位字符的某便位置,所以需要使用index(before:)方法获取最后一位有效字符

三、插入操作

1、使用 insert( , at:) 插入一个字符

var str = "Hello"
str.insert("!", at: str.endIndex) // 输出:Hello!

2、使用 insert(contentsOf:, at:) 插入一个字符串

var str = "Hello!"
str.insert(contentsOf:"world", at: str.index(before: str.endIndex)) // 输出:Hello world! 

四、删除操作
1、使用 remove(at: ) 移除某个字符

var str = "Hello World!"
str.remove(at: str.index(before: str.endIndex)) // 输出:!
print(str)  // 输出:Hello World

打印结果

Hello World

2、移除一段特定的字符串

var str = "Hello word!"
let range = str.index(str.startIndex, offsetBy: 5)..

打印结果

Hello

你可能感兴趣的:([Swift] 五、String 索引操作)