窺探Swift之字符串(String)


  之前總結過Objective-C中的字符串Objective-C精選字符串處理方法》,學習一門新語言怎么能少的了字符串呢。Swift中的String和Objective-C語言中NSString還是區別不小的,Swift中的String又回歸了正常狀態,使用起來更為方便快捷。本篇博客的主題就是Swift中的字符串類型String,String在Swift中讓人省心了不少。今天這篇博客就好好的認識一下Swift中的String。

  一、字符串拷貝

    在Swift中的字符串拷貝直接可以使用=號來操作,這個等號不是指針之間的賦值這么簡單。如果將字符串A的值賦給字符串B,那么A和B的的內存地址是不同的,也就是字符串A和字符串B有各自的內存空間。下面的實例就給我們展示了上面的說法:

    1.首先寫個輸入函數,該函數用於輸出字符串的內存地址,代碼如下:

 

1 //打印變量地址的函數
2 func printVarAddress(tempString: String){
3     
4     var address = String(format: "%p", tempString)
5     
6     println(address)
7     
8 }

 

 

    2. 創建一個字符串變量並賦上初始值,然后再定義一個變量,把上一個變量的值通過=號來賦值給這個新的變量,並調用上面的方法來打印這兩個變量的內存地址,如下代碼所示:

var strTemp = "Ludashi"

var strTempCopy = strTemp

printVarAddress(strTemp)  //-- 0x100525d50
printVarAddress(strTempCopy) //-- 0x1005268a0

    由上面打印的變量地址可以看出,每個變量都有自己的存儲地址,也就是對應着OC中的深拷貝。

 

  二、字符串連接

    在Swift中字符串的連接就簡單了許多,一個+號搞定,再也不用NSStringFormat了,下面的代碼是在Swift中進行字符串連接所使用的方式,和其他編程語言如PHP等是一樣一樣的。廢話少說直接上代碼。

//=============字符串連接==============
var myFirstName = "Li"

var mySecondName = "Zelu"

var myName = mySecondName + myFirstName

println(myName) // -- ZeluLi

 

  三、字符串遍歷

    在Swift中的字符串是可以使用for - in 來直接進行遍歷的,如下所示:

//==============字符串遍歷==========
var searchString = "Ludashi"

for tempChar in searchString {
    println(tempChar)
}

 

  四、字符串的比較

    字Swift中的字符串間的比較不是使用isEqualToString方法,直接使用==和!=號就可以搞定,是不是瞬間簡單了不少呢。應注意的是,在Swift中的Bool類型的值不再是OC中的Yes Or No了,而是false Or ture了。下面的代碼段是對兩個字符串通過==和!=來進行比較的。

//字符串比較==與!=
var myNameTemp = "lizelu"

var myBlogName = "ludashi"
var boolOne = myNameTemp == myBlogName  // -- false

var boolTwo = myNameTemp != myBlogName  // -- true

println(boolOne)

println(boolTwo)

 

  五、Swift中常見字符串函數

    1、使用hasPrefix和hasSuffix來判斷一個字符串是否為另一個字符串的前綴或者后綴

1 //判斷前綴還是后綴
2 var isHasPrefixOrSuffix = "我是lizelu"
3 
4 var isPrefix =  isHasPrefixOrSuffix.hasPrefix("")
5 println(isPrefix)   // -- ture
6 
7 var isSuffix =  isHasPrefixOrSuffix.hasSuffix("zelu")
8 println(isSuffix)   // -- ture

 

    2.字符串長度

    在OC中獲取字符串長度是使用length, 而Swift中則是使用count()全局函數,如下:

//字符串長度
var strLenght = count(isHasPrefixOrSuffix)
println(strLenght)  // -- 8 --

 

    3.字符串插值

    在OC中如果你想往一個字符串中插入一個值的話,那么就得使用字符串的格式化函數了,而在Swift中則使用\()就可以了,具體使用方式如下所示:

1 //字符串插值
2 var insertToStringValue = 1010101
3 
4 var strInserReaultValue = "二進制編碼\(insertToStringValue)"
5 
6 println(strInserReaultValue)  //二進制編碼1010101

 

    4.調用NSString方法

    在Swift中如果想調用NSString所特有的方法時,該怎么辦呢?那么就使用as關鍵字來轉換一下類型吧,就是把String類型通過as操作,轉換成NSString類型,然后在調用NSString相應的方法(比如要獲取一個字符串指定范圍內的字符串時,使用NSString的方法就會更為簡單一些)。

1 //String轉成NSSting調用NSSting的方法
2 var stringToNSString = "SwiftWithMe"
3 
4 var strNs: NSString = "aaa"
5 
6 strNs.length  // -- 3 --
7 
8 //就可以掉喲過NSSting的各工種方法了
9 var strLength = (stringToNSString as NSString).length  // -- 11 --

  今天有關Swift字符串的東西就先到這兒,以后字啊使用Swift做開發實例時,用到Swift字符串時再做補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM