溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Swift基礎(chǔ)語法:String篇

發(fā)布時間:2020-07-11 15:13:55 來源:網(wǎng)絡(luò) 閱讀:401 作者:maybe_home 欄目:移動開發(fā)

首先我們回顧一下C、OC中字符串相關(guān)知識:


    C語言中,通常說字符串為一個普通的字符數(shù)組,如:char characters[12] = "hello world";而C語言中引用字符串通常和指針扯上關(guān)系,寫法如:char * s = "hello world";這兩種寫法上,存在一個明顯的區(qū)別在于characters中的字符存在于棧區(qū),而s指向的字符串存在于常量區(qū),這一點需要注意;

    當我們?nèi)ヌ幚鞢語言中的字符串時,通常引用系統(tǒng)給予的庫文件<string.h>,對字符串進行比較、復(fù)制、粘貼等,直接使用一些庫函數(shù)就能達到相應(yīng)效果;

    OC語言中,字符串類型分為NSString和NSMutableString,可以理解為可變和不可變字符串,故名思議,對于可變字符串我們可以在源字符串中進行增、刪等操作,而對于不可變字符串,對其內(nèi)容進行修改之外,必將產(chǎn)生新的字符串;


Swift中的字符串:

    首先,對于Swift中的字符串,我們需要先區(qū)別一下Swift中的字符和字符串的關(guān)系和區(qū)別:即Character和String;

    如下:

Swift基礎(chǔ)語法:String篇

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

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

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


    1、初始化字符串


Swift基礎(chǔ)語法:String篇

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


    2、判定字符串是否為空

Swift基礎(chǔ)語法:String篇

    控制臺打印信息:字符串為空,這里,我們可以通過函數(shù)countElements()來得到字符串的字符個數(shù);


    3、字符串的拼接

    Swift基礎(chǔ)語法:String篇

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

    第5中方式,將Swift中的String類型轉(zhuǎn)換為OC中的NSMutableString類型,此后,用法同OC中的NSMutableString的用法;

    最后控制臺打印效果為:

    Swift基礎(chǔ)語法:String篇


    4、移除元素

    Swift基礎(chǔ)語法:String篇

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

    看一下控制臺的輸出:

Swift基礎(chǔ)語法:String篇


    5、查詢字符串

    Swift基礎(chǔ)語法:String篇

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


    6、遍歷字符串

    Swift基礎(chǔ)語法:String篇

    這里只簡單介紹兩種遍歷方式,其他方式比較少用,可以查看相關(guān)開發(fā)文檔

    

    



 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI