Swift基礎語法:String篇

首先我們回顧一下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;

    如下:

wKiom1TQOBijQ1eSAAAtZ3XFOPw541.jpg

    這兩條語句中,均未設定其類型,由於Swift的左推導類型的作用,會默認temp爲Character(字符)類型,而otherTemp爲String(字符串)類型;

    注意:String和Character類型的值均爲雙引號;Character類型,無法爲自身字符串進行追加操作;

    下面,我們來看一些對於String的一些操作:(這裏我們不再區分var 和let)


    1、初始化字符串


wKiom1TQRmeCKqzJAAA4oN0wrtY361.jpg

    這裏兩句初始化方法,均爲初始化兩個空字符串;


    2、判定字符串是否爲空

wKioL1TQR2zTFi5nAABrtrXM8zI144.jpg

    控制檯打印信息:字符串爲空,這裏,我們可以通過函數countElements()來得到字符串的字符個數;


    3、字符串的拼接

    wKiom1TQP1Xipa6TAAGlzGPcGlQ280.jpg

    其中:第4中方式,insert index位置,類型必須爲String.Index類型,不能爲Int類型,所以我們需要先通過String得到對應的index,然後才能insert操作成功;

    第5中方式,將Swift中的String類型轉換爲OC中的NSMutableString類型,此後,用法同OC中的NSMutableString的用法;

    最後控制檯打印效果爲:

    wKioL1TQQWvwHeDPAABo35npbYo847.jpg


    4、移除元素

    wKioL1TQQs-iUEVgAAFiRAem43U261.jpg

        其中,需要注意代碼中2和-2的寫法,advance函數第二個參數位置,正數代表往後(右)移動位置,負數代表向前(左)移動位置;startIndex爲當前字符串的開始,endIndex爲當前字符串的結尾;startIndex ... endIndex表示範圍,注意...(閉區間)前後的空格一定要匹配,否則編譯器會報錯誤:removeAll函數中參數爲Bool類型;

    看一下控制檯的輸出:

wKiom1TQQvzzFlN7AAB5GXerseU701.jpg


    5、查詢字符串

    wKioL1TQRObTjQzVAADHBqdM710677.jpg

    Swift查詢字符串包涵三種方式,第一種爲hasPrefix,查詢前綴,第二種爲hasSuffix,查詢後綴,最後一種爲 == 雙等號和 != 不等號,比較是否相等,後續我們會介紹 === 三個等號和 !==的形式;


    6、遍歷字符串

    wKioL1TQRdGyV-0gAAC20HATjmc480.jpg

    這裏只簡單介紹兩種遍歷方式,其他方式比較少用,可以查看相關開發文檔

    

    



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章