以下有關(guān)字符串的常用操作都可直接復(fù)制到Xcode中進(jìn)行驗(yàn)證,如發(fā)現(xiàn)錯(cuò)誤,請(qǐng)?jiān)谠u(píng)論區(qū)留言指正!
1.字符串的定義
var str1="hello, swift." //字符串變量 相當(dāng)于OC中的可變字符串
let str2="hello, swift." //字符串常量 相當(dāng)于OC中的不可變字符串
let str3="" //空字符串
let str4=String() //空字符串
2.字符串的連接
2.1 使用+連接符
//字符串的連接
let str1 = "hello"
let str2 = "swift"
let str3 = str1 + str2
print(str3)
2.2 使用字符串插值(該方法也可用于字符串與其他類(lèi)型值的連接)
let str1 = "hello"
let str2 = "swift"
let str4 = "\(str1)\(str2)"
print(str4)
3.字符串枚舉字符
let str="伊麗莎白"
for ch in str.characters{
print(ch)
}
4.字符串長(zhǎng)度
//字符串的長(zhǎng)度
let str1 = "hello swift"
print(str1.characters.count)
5.字符串的比較
//字符串的比較 判斷兩個(gè)字符串是否相等
let str1 = "hello"
let str2 = "hello"
if str1 == str2{
print("兩個(gè)字符串是相等的")
}else{
print("兩個(gè)字符串不相等")
}
6.判斷是否包含子串
//判斷字符串是否包含子串
let str1 = "hello swift"
let str2 = "SWIFT"
let lmrRange = str1.range(of: str2)//正向查找
let rmlRange = str1.range(of: str2, options: .backwards)//反向查找
let ignore_Text_transformRange = str1.range(of:str2, options: .caseInsensitive, range:nil , locale:nil)//忽略大小寫(xiě)
if ignore_Text_transformRange != nil{
print("str1中包含著子串")
}else{
print("str1中不包含子串")
}
7.首字母大寫(xiě)capitalized
//首字母大寫(xiě)
let str1 = "hello"
let str2 = str1.capitalized
print(str2)
8.字符串全部轉(zhuǎn)為大寫(xiě)uppercase
//字符串轉(zhuǎn)為大寫(xiě)
let str1 = "hello"
let str2 = str1.uppercased()
print(str2)
9.字符串全部轉(zhuǎn)為小寫(xiě)lowrecase
//字符串轉(zhuǎn)為小寫(xiě)
let str1 = "HELLO"
let str2 = str1.lowercased()
print(str2)
10.按照下標(biāo)截取子字符串
//字符串截取子字符串
let str1 = "HELLO swift"
let str2 = str1.substring(from: str1.startIndex)//從頭開(kāi)始截取
let str3 = str1.substring(to: str1.endIndex)//截取到尾部
//獲取截取范圍
let i = str1.index(str1.startIndex, offsetBy: 4)
let j = str1.index(str1.startIndex, offsetBy: 8)
let str4 = str1.substring(with: i..<j)
print(str2)
print(str3)
print(str4)
11.字符串修整trim
var str1 = "? !hi?? !23?? !???"
let str2 = str1.trimmingCharacters(in: NSCharacterSet.whitespaces)//"!hi? !23? !"去掉兩邊的空格
let str3 = str2.trimmingCharacters(in: NSCharacterSet(charactersIn:"!?") as CharacterSet)//"hi? !23" 去掉兩邊的空格和‘!’ 橄镜,把 字符串中的每個(gè)字符進(jìn)行了分解并去除
print(str3)
注意:這里是只能修整兩邊的,只能修整兩邊的
12.字符串分解split
//字符串的分解split
var str1 = "hello,swift,you,change,so,fast,!"
let strArray1:[String] = str1.components(separatedBy: ",")
for index in strArray1{
print(index)
}
var str2 = "hello,swift?goodbye,swift?!"
let strArray2:[String] = str2.components(separatedBy: NSCharacterSet(charactersIn:",?") as CharacterSet)
for index in strArray2{
print(index)
}
13.字符串替換replace
//字符串替換replace
var str1 = "hello Object-C,you change so fast!"
let str2 = str1.replacingOccurrences(of: "Object-C", with: "swift")//字符串替換字符串
let i = str1.index(str1.startIndex, offsetBy: 6)
let j = str1.index(str1.startIndex, offsetBy: 14)
let str3 = str1.replacingCharacters(in: i..<j), with: "swift")//字符串替換某個(gè)范圍的字符串
let str4 = str1.replacingOccurrences(of: "OBJECt-C", with: "SWIFT", options: .caseInsensitive, range: nil)//忽略大小寫(xiě)替換
print(str2)
print(str3)
print(str4)