Swift解讀專題四——字符串與字符

Swift解讀專題四——字符串與字符

1、引言

        Swift中提供了String類型與Characters類型來處理字符串和字符數據,Swift中的String類型除了提供了許多方便開發者使用的方法外,還能夠與Foundation框架的NSString類進行轉換,使用起來十分方便。數組

2、String基礎

        在Swift中,使用雙引號來定義字符串,開發者能夠經過以下代碼來建立一個字符串常量:app

let str = "Hello, playground"

能夠經過下面兩種方式來建立空字符串:框架

let str1 = ""
let str2 = String()

調用isEmpty方法能夠判斷某個字符串是否爲空字符串,這個方法將返回一個Bool值,能夠直接用於if語句:函數

if str1.isEmpty {
    print("this String Object is Empty")
}

不像Objective-C有NSString與NSMutableString的區別,在Swift中,若是須要建立可變的字符串,只需用變量來接收:this

var str3 = "Hello"
str3 += " "+"World"//str3 = Hello World

String也能夠使用插值的方法來構造新的字符串,使用\()的方式來將插值的表達式寫在小括號內,示例以下:spa

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"//3 times 2.5 is 7.5

獲取字符串的長度使用以下代碼:code

str3.characters.count

Swift中的String能夠直接使用==運算符來進行比較,示例以下:ip

let comStr1 = "one two"
let comStr2 = "one two"
comStr1==comStr2//true

下面示例的代碼,用來檢驗字符串是否包含前綴與後綴:unicode

let tmp3 = "thank you"
tmp3.hasPrefix("thank")//true
tmp3.hasSuffix("you")//true

3、Character的使用

        Character爲Swift中的字符類型,在for-in循環中,能夠將字符串中全部的字符進行遍歷:開發

for chara in str3.characters {
    print(chara)
}

也能夠建立單獨的字符類型量值,示例以下:

let char1 = "🐶"
var cgar2 = "HS"

事實上,Sting字符串也能夠經過Character字符數組進行初始化:

let chars:[Character] = ["H","e","l","l","o"]
let str4 = String(chars)

向字符串中追加字符使用以下方法:

var str5 = ""
let ca:Character = "a"
str5.append(ca)

4、字符串中的特殊字符

        字符串中的特殊字符主要指轉義字符,Swift中的轉義字符列舉以下:

"\0"//"" 空白符
"\\"//"\"反斜槓符號
"\t"//" "製表符
"\n"//換行符
"\r"//回車符
"\'"//"'"單引號
"\""//"""雙引號
"\u{24}"//"$"unicode字符

5、關於字符串下標

        在Swift中,字符串也能夠經過下標的方式來訪問其中字符,而且提供了相關方法來方便的移動下標,示例代碼以下:

let tmp = "Hello Swift"
//獲取字符開始的下標值 0
let indexStart = tmp.startIndex
//獲取某個下標後一個字符的下標 1
let next = indexStart.successor()
//獲取最後一個字符的下標值 注意有\0的存在 
let indexEnd = tmp.endIndex
//獲取某個下標前一個字符的下標
let pre = indexEnd.predecessor()
//經過下標獲取字符串中的字符 t
var c = tmp[pre]
//進行下標移動 o
var c2 = tmp[indexStart.advancedBy(4)]
//經過遍歷下標來遍歷字符 H e l l o  S w i f t
for index in tmp.characters.indices {
     print("\(tmp[index]) ", terminator: "")
}

6、在字符串中插入和移除字符

        使用insert函數來向字符串中插入一個字符,示例以下:

var tmp2 = "Hello"
tmp2.insert("!", atIndex: tmp2.endIndex)

注意,上面示例代碼中的insert函數只能用於插入一個字符,若是須要插入一組字符,須要使用以下方法:

tmp2.insertContentsOf(" Swift".characters, at: tmp2.endIndex)

使用removeAtIndex函數來移除字符串中的一個字符,示例以下:

tmp2.removeAtIndex(tmp2.endIndex.predecessor())

若是要移除一組字符,主要經過Range來實現,示例以下:

let range = tmp2.endIndex.advancedBy(-4)..<tmp2.endIndex
tmp2.removeRange(range)

專一技術,熱愛生活,交流技術,也作朋友。

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索