1.基本操作
注意:索引(Int)不能直接用,需要轉為str.index(這里的“str”指的是字符串的名稱)
import UIKit
var str = "ABCD E"
print(str.count)//6。打印字符串的長度
var a = str.startIndex//索引
print(str[a])//A。打印str首個字符
var b = str.index(before: str.endIndex)//索引
print(str[b])//E。打印str末尾字符。endIndex的前一個字符才是“E”
var c = str.index(str.startIndex,offsetBy: 3)//索引
print(str[c])//D。從首個字符0起算3個字符
var d = str.index(str.endIndex,offsetBy: -3)//索引
print(str[d])//D。打印倒數第3個字符
var e = str.index(str.startIndex,offsetBy: 1)//區間起始索引
var f = str.index(str.startIndex,offsetBy: 3)//區間結束索引
print(str[e...f])//BCD。
var g = str.firstIndex(of: "C") ?? str.endIndex//字符"C"不一定存在,所以是可選的。如果"C"不存在就返回最后一個字符
print(str[str.startIndex...g])//ABC
print(str.prefix(3))//ABC。返回字符串的前3個字符。prefix:前綴
2.遍歷字符串
import UIKit
var str = "ABCDEF"
for index in str{
print(index)//ABCDEF
}
for index in 0..<str.count{
print(str[str.index(str.startIndex, offsetBy: index)])//ABCDEF
}
3.多行文本
import UIKit
var str = """
fghj
567yijo
gvhbj
"""
print(str)//注意引號里的內容是最“邊緣”的情況,即內容不能再向左寫了
print(#""hello\(world)""#)//"hello\(world)"。最邊緣的一對引號是為了符合語法,再往里的引號就屬於文本的內容了,想怎么寫就怎么寫
4.其它操作
import UIKit
var str = "ABCDEF"
print(str.contains("CD"))//true。字符串匹配
print(String(str.hasPrefix("AB")))//true。判斷字符串的前綴是否為“AB”
print(String(str.hasSuffix("F")))//true。判斷字符串的后綴是否為“F”
str.append("GHI")//擴展字符串
print(str)//ABCDEFGHI
str.insert(contentsOf:"hello", at: str.startIndex)// 插入字符串
print(str)//helloABCDEFGHI
str.insert(contentsOf: "world", at: str.index(str.startIndex, offsetBy: 10))//插入字符串
print(str)//helloABCDEworldFGHI
var a = str.index(str.startIndex,offsetBy: 5)
var b = str.index(str.startIndex,offsetBy: 9)
var range = a...b
str.replaceSubrange(range, with: "HELLO")//字符串的替換
print(str)//helloHELLOworldFGHI
print(str.replacingOccurrences(of: "hello", with: "123"))//123HELLOworldFGHI。字符串的替換
str.remove(at: str.index(str.startIndex, offsetBy: 5))//刪除字符
print(str)//helloELLOworldFGHI。
str.removeSubrange((str.index(str.startIndex,offsetBy: 0)...str.index(str.startIndex,offsetBy: 5)))//刪除字符串
print(str)//LLOworldFGHI