詳解Swift中的Characters字符類型與String字符串類型。本站提示廣大學習愛好者:(詳解Swift中的Characters字符類型與String字符串類型)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解Swift中的Characters字符類型與String字符串類型正文
一、引言
Swift中提供了String類型與Characters類型來處置字符串和字符數據,Swift中的String類型除了提供了許多方便開發者運用的辦法外,還可以與Foundation框架的NSString類停止轉換,運用起來非常方便。
二、String根底
在Swift中,運用雙引號來定義字符串,開發者可以經過如下代碼來創立一個字符串常量:
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中,假如需求創立可變的字符串,只需用變量來接納:
var str3 = "Hello" str3 += " "+"World"//str3 = Hello World
String也可以運用插值的辦法來結構新的字符串,運用\()的方式來將插值的表達式寫在小括號內,示例如下:
let multiplier = 3 let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"//3 times 2.5 is 7.5
獲取字符串的長度運用如下代碼:
str3.characters.count
Swift中的String可以直接運用==運算符來停止比擬,示例如下:
let comStr1 = "one two" let comStr2 = "one two" comStr1==comStr2//true
上面示例的代碼,用來檢驗字符串能否包括前綴與後綴:
let tmp3 = "thank you" tmp3.hasPrefix("thank")//true tmp3.hasSuffix("you")//true
三、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)
四、字符串中的特殊字符
字符串中的特殊字符次要指本義字符,Swift中的本義字符羅列如下:
"\0"//"" 空白符 "\\"//"\"反斜槓符號 "\t"//" "制表符 "\n"//換行符 "\r"//回車符 "\'"//"'"單引號 "\""//"""雙引號 "\u{24}"//"$"unicode字符
五、關於字符串下標
在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: "") }
六、在字符串中拔出和移除字符
運用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)