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