學習一門新語言怎麼能少的了字元串呢。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) //-- 0x100525d50printVarAddress(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 // -- falsevar boolTwo = myNameTemp != myBlogName // -- trueprintln(boolOne)
println(boolTwo)

五、Swift中常見字元串函數
1、使用hasPrefix和hasSuffix來判斷一個字元串是否為另一個字元串的字首或者字尾

1 //判斷字首還是字尾2 var isHasPrefixOrSuffix = "我是lizelu"3 4 var isPrefix = isHasPrefixOrSuffix.hasPrefix("我")5 println(isPrefix) // -- ture6 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 = 10101013 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字元串的東西就先到這兒