[Swift] 五、String 索引操作

一、String.Index

  • String 值的索引是 StringIndex 類型,不是 Int 類型
  • index 不是字符串下標(biāo)參數(shù), 而是字符所在字符串中的位置
  • startIndex:非空字符串中第一個 character的位置
  • endIndex:字符串的“超過結(jié)尾”的位置; 也就是說比位置大一
  • 若字符串為空,則 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

打印結(jié)果

Hello World

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

var str = "Hello word!"
let range = str.index(str.startIndex, offsetBy: 5)..<str.endIndex // 輸出:{{_rawBits 327937}, {_rawBits 720897}}
str.removeSubrange(range)  // 輸出:Hello
print(str)  // 輸出:Hello

打印結(jié)果

Hello
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容