個人總結若有疏漏,還望指點補全。
【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方法 問題 方案 主要講...