Swift程式設計基礎之筆記總結 String

2021-07-16 02:17:13 字數 2676 閱讀 3795

個人總結若有疏漏,還望指點補全。

【string】

swift中的string型別是輕量級且易讀 (結構體,列舉等 全為值型別)

nsstring 為引用型別 字串的處理上方便

一.判斷是否是空串

public var isempty: bool

例:str.isempty

ps:// swift裡面也存在可變與不可變字串,var 和 let

// var宣告的字串可以進行追加修改替換,刪除等操作。

��:let str : nsmutablestring = 「aaa」 // 因為前邊用let 宣告此處還是不可變

二、遍歷字串

1、for ch in str.characters

2、for index in str.characters.indices

3、indices: range //indices為字串下標範圍

三、獲取字串的長度

str10.characters.count

四、字串的下標

swift中提供了一種string.index型別,該型別用於代表單個字元所處於string中的下標

ps:由於string中不同字元在字串中所需記憶體大小儲存不同,所以不用直接通過簡單的整數值

作為字元位於string中的而下標

public var startindex: index

public var endindex: index

五、訪問string字串指定位置的字元

(1) //訪問字串的第乙個字元

str[str.startindex]

(2) //訪問字串的最後乙個字元

str[str.endindex.predecessor()] //最後座標位置的前一位

��:str[str.endindex] //這樣是錯的,就相當於str[str.count] 越界

(3)//訪問該位置的後一位

str[str.startindex.successor()]

(4)//取指定位置的下標

str[str.startindex.advancedby(idx)] //idx為小於字串長度的整數值

六、string字串的增、刪、改 操作

(1)增加

//在可變字元的後面新增字元

��:此處mutating為修改本身,所以此函式沒有返回值

//在可變字串的後面新增字串

(2)插入

//在指定位置插入單個字元

public mutating func insert(newelement: character, atindex i: index)

例:str.insert("!", atindex: str.startindex.advancedby(3))

//插入指定字串

public mutating func insertcontentsof(newelements: s, at i: index)

例:str.insertcontentsof("hello", atindex: str.startindex.advancedby(3))

(3)刪除

//刪除指定位置的字元

//ps : swift中的string如果要按照下標的方式是從刪除或插入資料,

startindex 和 endindex,那麼如果是startindex起始下標值為 0 ,

endindex那麼起始下標值是 -1

public mutating func removeatindex(i: index) -> character

例:str.removeatindex(str.endindex.advancedby(-5))

//刪除指定範圍的字串

public mutating func removerange(subrange: range) //從小到大

例:str.removerange(str.endindex.advancedby(-4)..//刪除全部,清空字串

removeall(keepcapacity keepcapacity: bool = default)

例:str.removeall()

(4)替換

//將指定範圍內的字串替換成指定字串

str.replacerange(str.startindex.advancedby(0)...str.startindex.advancedby(3), with: "我愛北京")

//判斷字元大小

if str1 == str2

//判斷字串的字首和字尾

if str.hasprefix("www")

if str.hassuffix("com")

(5)備註

//我們一般常用的字編碼是utf8,json解析,xml解析,網頁,只要是漢字都是utf8編碼

//utf16 萬國碼unicode

//ps : str.characters.count 字元個數(長度)在某些特定的情況下和nsstring和length不等價

所以可以用 str.utf16.count 來獲取字串長度 [漢字]

swift 基礎筆記

常量與變數 常量用 let 關鍵字來宣告 變數用 var 關鍵字申明 變數設定後,可以改變值 常量設定後,無法改變 let name enda var old 21 可以一行申明多個 var t t e e let a a b b 可以設定型別 var hi string 整數 注視就是沒有小數部分...

swift基礎之協議

1 協議的定義 2 協議的語法 3 協議對屬性,方法,構造器的規定 4 協議型別 1 利用協議實現 模式 2 協議繼承 3 類的專屬協議 4 協議合成 5 協議檢查 6 協議擴充套件 協議類似於其他語言的介面,用來規定要實現的某些特定功能必須的屬性和方法 類 結構體 列舉都可以實現協議規定的方法和屬...

Swift 程式設計思想 閱讀筆記

swift 程式設計思想,第一部分 拯救小馬 swift 程式設計思想 鏈結swift 程式設計思想,第一部分 拯救小馬 swift 程式設計思想,第二部分 陣列的 map 方法 swift程式設計思想 第三部分 結構體和類 swift 程式設計思想 第四部分 全部使用map方法 問題 方案 主要講...