Swift学习11:索引访问和修改字符串

张建 lol

字符串索引

  • 每一个 String 值都有相关的索引类型,String.Index,他相当于每个 Character 在字符串中的位置

  • startIndex 属性来访问 String 中第一个 Character 的位置。endIndex 属性就是 String 中最后一个字符串的位置

  • endIndex 属性并不是字符串下标脚本的合法实际参数

  • 如果 String 为空,则 startIndexendIndex 相等

  • 使用 index(before:)index(after:) 方法来访问给定索引的前后

  • 要访问给定索引更远的索引,你可以使用 index(_:offetBy:)

  • 使用 indices 属性来访问字符串中每个字符的索引

1
2
3
4
5
6
var greeting = "Hello, playground"
greeting[greeting.startIndex]
greeting[greeting.index(before: greeting.endIndex)]
greeting[greeting.index(after: greeting.startIndex)]
let index = greeting.index(greeting.startIndex, offsetBy: 7)
greeting[index]

插入

  • 插入字符,使用 insert(_:at:) 方法

  • 插入到另一个字符串的内容到特定的索引,使用 insert(contentsOf:at:) 方法

1
2
3
4
var str = "hello"
str.insert("!", at: str.endIndex)
str.insert(contentsOf: " world", at: str.firstIndex(of: "!")!)
print(str)

删除

  • 移除字符,使用 remove(at:) 方法
1
2
var str = "hello"
str.remove(at: str.index(before: str.endIndex))

  • 移除一小段特定范围的字符串,使用 removeSubrange(_:) 方法
1
2
3
var str = "hello"
let range = str.index(str.endIndex, offsetBy: -str.count)..<str.endIndex
str.removeSubrange(range)

  • Post title:Swift学习11:索引访问和修改字符串
  • Post author:张建
  • Create time:2023-02-22 02:59:05
  • Post link:https://redefine.ohevan.com/2023/02/22/Swift课程/Swift学习11:索引访问和修改字符串/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
Swift学习11:索引访问和修改字符串