窺探Swift之字符串(String)

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

  1、字符串拷貝編程

    在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. 建立一個字符串變量並賦上初始值,而後再定義一個變量,把上一個變量的值經過=號來賦值給這個新的變量,並調用上面的方法來打印這兩個變量的內存地址,以下代碼所示:post

var strTemp = "Ludashi"

var strTempCopy = strTemp

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

    由上面打印的變量地址能夠看出,每一個變量都有本身的存儲地址,也就是對應着OC中的深拷貝。學習

 

  2、字符串鏈接編碼

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

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

var mySecondName = "Zelu"

var myName = mySecondName + myFirstName

println(myName) // -- ZeluLi

 

  3、字符串遍歷spa

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

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

for tempChar in searchString {
    println(tempChar)
}

 

  4、字符串的比較

    字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)

 

  5、Swift中常見字符串函數

    一、使用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字符串時再作補充。

相關文章
相關標籤/搜索