首先我們回顧一下C、OC中字符串相關知識:
C語言中,通常說字符串爲一個普通的字符數組,如:char characters[12] = "hello world";而C語言中引用字符串通常和指針扯上關係,寫法如:char * s = "hello world";這兩種寫法上,存在一個明顯的區別在於characters中的字符存在於棧區,而s指向的字符串存在於常量區,這一點需要注意;
當我們去處理C語言中的字符串時,通常引用系統給予的庫文件<string.h>,對字符串進行比較、複製、粘貼等,直接使用一些庫函數就能達到相應效果;
OC語言中,字符串類型分爲NSString和NSMutableString,可以理解爲可變和不可變字符串,故名思議,對於可變字符串我們可以在源字符串中進行增、刪等操作,而對於不可變字符串,對其內容進行修改之外,必將產生新的字符串;
Swift中的字符串:
首先,對於Swift中的字符串,我們需要先區別一下Swift中的字符和字符串的關係和區別:即Character和String;
如下:
這兩條語句中,均未設定其類型,由於Swift的左推導類型的作用,會默認temp爲Character(字符)類型,而otherTemp爲String(字符串)類型;
注意:String和Character類型的值均爲雙引號;Character類型,無法爲自身字符串進行追加操作;
下面,我們來看一些對於String的一些操作:(這裏我們不再區分var 和let)
1、初始化字符串
這裏兩句初始化方法,均爲初始化兩個空字符串;
2、判定字符串是否爲空
控制檯打印信息:字符串爲空,這裏,我們可以通過函數countElements()來得到字符串的字符個數;
3、字符串的拼接
其中:第4中方式,insert index位置,類型必須爲String.Index類型,不能爲Int類型,所以我們需要先通過String得到對應的index,然後才能insert操作成功;
第5中方式,將Swift中的String類型轉換爲OC中的NSMutableString類型,此後,用法同OC中的NSMutableString的用法;
最後控制檯打印效果爲:
4、移除元素
其中,需要注意代碼中2和-2的寫法,advance函數第二個參數位置,正數代表往後(右)移動位置,負數代表向前(左)移動位置;startIndex爲當前字符串的開始,endIndex爲當前字符串的結尾;startIndex ... endIndex表示範圍,注意...(閉區間)前後的空格一定要匹配,否則編譯器會報錯誤:removeAll函數中參數爲Bool類型;
看一下控制檯的輸出:
5、查詢字符串
Swift查詢字符串包涵三種方式,第一種爲hasPrefix,查詢前綴,第二種爲hasSuffix,查詢後綴,最後一種爲 == 雙等號和 != 不等號,比較是否相等,後續我們會介紹 === 三個等號和 !==的形式;
6、遍歷字符串
這裏只簡單介紹兩種遍歷方式,其他方式比較少用,可以查看相關開發文檔