Swift編程基礎(二):字符與字符串

字符

Swift的String類型表示特定序列的Character(字符)類型值的集合。

for character in "China".characters{
      print(character)
 }
 //C
 //h
 //i
 //n
 //a   

初始化空字符串

var myFirstString = ""
var mySecondString = String()
//以上兩個字符串均爲空

字符串的拼接

var str = "father"
str += " and mother"
//str現在爲"father and mother"
str.appendContentsOf(" and son")
//str現在爲"father and mother and son"

獲取字符串的長度

let name = "wilson"
print(name.characters.count)    //輸出 6
提到字符串長度,想到了字符串判空操作:name.isEmpty,顯然這裏返回(false)

字符串比較

var str1 = "json"
let str2 = "json"
print(str.characters.elementsEqual(str2.characters))
print(str1==str2)
//以上兩行代碼均返回true

判斷前綴或後綴

str.hasPrefix("Chi")
str.hasSuffix("na")

字符串分割

let str = "Japanese"
let a =str.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: "p,n"))
print(a)   //輸出["Ja", "a", "ese"]

let b = str.componentsSeparatedByString("an")
print(b)   //輸出["Jap", "ese"]

接下來的操作都用用到字符串中最常用的兩個參數:下標(index)和範圍(Range),在此先提出來

let offset = str.startIndex.advancedBy(2)  
let range = Range(start:str.startIndex.advancedBy(1),end:str.endIndex.advancedBy(-2))

字符串插入

var str = "Japanese"
str.insert("c",atIndex:str.endIndex.advancedBy(-1))    //插入一個字符"c"
print(str)  //Japanesce

str.insertContentsOf("India".characters, at: str.startIndex.advancedBy(4))
print(str)   //插入一個字符串"India",結果爲:JapaIndianesce

獲取字符串的子串

str.substringToIndex(offset)
str.substringFromIndex(offset)
str.substringWithRange(range)

let str = "Japanese"
let myStr=str.substringWithRange(Range(start: str.startIndex.advancedBy(3),end:str.endIndex.advancedBy(-1)))
print(myStr)   //anes

字符串的刪除

var str = "Japanese"
str.removeAtIndex(str.startIndex.advancedBy(1))
print(str)   //Jpanese,刪除一個字符"a"

str.removeRange(Range(start:str.startIndex.advancedBy(3),end:str.endIndex.advancedBy(-1)))
print(str)   //Jpae,刪除Jpanese中的"nes"

let str1 =String(str.characters.dropFirst(1))
print(str1)  //pae,刪除Jpae從頭開始的1位

let str2 = String(str.characters.dropLast(3))
print(str2)  //J,刪除Jpae從尾開始的3位

let str3 = "   welcome to China   "
let a= str3.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
print(a)  //welcome to China,刪除頭尾空白字符

let b = a.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "ona"))
print(b)  //welcome to Chi,刪除頭尾字符集

固定位置的替換

var realName = "wilson"
realName.replaceRange(Range(start: realName.startIndex.advancedBy(1), end: realName.endIndex.advancedBy(-1)), with: "nihao")
print(realName)    //wnihaon
let currentName = realName.stringByReplacingCharactersInRange(Range(start: realName.startIndex.advancedBy(1), end: realName.endIndex.advancedBy(-1)), withString: "hello")
print(currentName)   //whellon,realName依然是:wnihaon

字符串反轉

String(str.characters.reverse())
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章