窺探Swift之字串(String)

2021-09-23 21:47:59 字數 3176 閱讀 4596

之前總結過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.首先寫個輸入函式,該函式用於輸出字串的記憶體位址,**如下:

//列印變數位址的函式

func printvaraddress(tempstring: string)

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

四、字串的比較

字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來判斷乙個字串是否為另乙個字串的字首或者字尾

//判斷字首還是字尾

var ishasprefixorsuffix = "我是lizelu"

var isprefix = ishasprefixorsuffix.hasprefix("我")

println(isprefix) // -- ture

var issuffix = ishasprefixorsuffix.hassuffix("zelu")

println(issuffix) // -- ture

2.字串長度

在oc中獲取字串長度是使用length, 而swift中則是使用count()全域性函式,如下:

//字串長度

var strlenght = count(ishasprefixorsuffix)

println(strlenght) // -- 8 --

3.字串插值

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

//字串插值

var inserttostrin**alue = 1010101

var strinserreaultvalue = "二進位制編碼\(inserttostrin**alue)"

println(strinserreaultvalue) //二進位制編碼1010101

4.呼叫nsstring方法

在swift中如果想呼叫nsstring所特有的方法時,該怎麼辦呢?那麼就使用as關鍵字來轉換一下型別吧,就是把string型別通過as操作,轉換成nsstring型別,然後在呼叫nsstring相應的方法(比如要獲取乙個字串指定範圍內的字串時,使用nsstring的方法就會更為簡單一些)。

//string轉成nssting呼叫nssting的方法

var stringtonsstring = "swiftwithme"

var strns: nsstring = "aaa"

strns.length // -- 3 --

//就可以掉喲過nssting的各工種方法了

var strlength = (stringtonsstring as nsstring).length // -- 11 --

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

swift 過濾字串 Swift 字串

swift 字串 swift 字串是一系列字元的集合。例如 hello,world 這樣的有序的字元型別的值的集合,它的資料型別為 string。建立字串 你可以通過使用字串字面量或 string 類的例項來建立乙個字串 import cocoa 使用字串字面量 var stringa hello,...

Swift 學習之字串和字元

swift 學習之字串和字元 1.建立字串 2.初始化空字元 2.1 方法1 let emptystring 2.2 方法2 string 構造方法 let anotheremptystring string 這兩個字串都為空,並且兩者等價 3.判斷字串是否為空 if emptystring.ise...

Swift心得筆記之字串

字串 簡介string 中的字串是值型別,傳遞的www.cppcns.com時候會對值進行拷貝,而 nsstring 的字串傳遞則是引用。我們可以用 for in 遍歷字串 複製 如下 var a string a for c in hello 可以通過 countelements 計算字串的字元數...