字符串
(一)初始化:
var a = "QWERTYUI"
print("\(a)")
var a1 = String("NBA")
print("\(a1)")
let value =
print("输出带引号的字符串"+ value)
var value2 = """
Hello!
EveryOne,
My name is WangYangle
"""
print("带格式化的多行文本\n"+ value2)
获取字符串信息
var a = "QWERTYUI"
print( "(a)的长度= (a.count)" )
print("获取字符串的第一个字符 =\(a[a.startIndex])")
print("获取字符串的最后一个字符 =\(a[a.index(before: a. endIndex)])")
print("获取字符串的第一个字符的后一位 =\(a[a.index(after: a.startIndex)])")
print("获取任意位置的字符 =\(a[a.index(a.startIndex,offsetBy:3)])")
let b = a.index(a.startIndex,offsetBy:2)
let c = a.index(a.startIndex,offsetBy:4)
print("获取任意范围的字符串 =\(a[b...c])")
print("获取任意范围的字符串 =\(a[b..<c])")
let index = a.firstIndex(of:"Y") ?? a.endIndex
print("获取任意范围的字符串 =\(a[a.startIndex ...index])")
print("获取从0开始,长度为4的子字符串 =\(a.prefix(4))")
print("获取从0开始,长度为4的子字符串 =\(a.prefix(upTo: a.index(a.startIndex,offsetBy:4)))")
字符串的拼接
let a1 = "ABCD"
let a2 = String("EFGH")
var a3 = a1 + a2
var a4 = "\(a1)\(a2)"
var a4 = a1.appending(a2)
字符串的判断
let a1 = "ABCD"
let a2 = String("EFGH")
print("\(a1.isEmpty?"是空的字符串":"不是空的字符串")")
print("\(a1 == a2 ? "a1和a2相等":"a1和a2不相等")")
let index2 = a.index(a.endIndex,offsetBy: -2)
print("获取后2位的字符串 = \(a[index2..<a.endIndex])")
print("判断是否包含某个字符 = \(a.contains("E"))")
print("判断是否包含某个字符串 = \(a.contains("ERT"))")
print("判断是否包含某个字符串 = \(a.contains(where:String.contains("QK")))")
print("判断是否包含某个字符串的前缀 = \(a.hasPrefix("W"))")
print("判断是否包含某个字符串的后缀 =\(a.hasSuffix("UI"))")
字符串的插入
var str = "Hello, World!"
str.insert("!"[...], at: str.index(str.startIndex, offsetBy: 7))
var charStr = "Hello"
charStr.insert("!"[...], at: charStr.index(before: charStr.endIndex))
var a1 = "ABCD"
a1.insert(contentsOf:"ABCD",at: a1.index(a1.startIndex,offsetBy:3))
print("在某个位置插入字符串 = \(a1)")
字符串的删除
var a1 = "ABCDEFGHIJKLMN"
newA.remove(at: newA.index(newA.startIndex,offsetBy:7))
print("删除某个字符串 = \(newA)")
newA.removeSubrange(newA.index(newA.startIndex,offsetBy:5)...newA.index(newA.startIndex,offsetBy:6))
print("删除指定范围的字符串 = \(newA)")
let newB = newA.trimmingCharacters(in: .whitespaces).replacingOccurrences(of:" ",with:"")
print("删除某个字符串的中的所有空格 = \(newB) ")
字符串的替换
var a = "ABCD"
let index3 = a.index(a.startIndex,offsetBy:1)
let index4 = a.index(a.startIndex,offsetBy:3)
let range = index3...index4
a.replaceSubrange(range,with:"OOOO")
print("在某个范围替换字符串 = \(a)")
var newA = a.replacingOccurrences(of:"BCD",with :"@&%")
print("替换某个字符串 = \(newA) ")
字符串的遍历
print("---------直接遍历--------------")
let str ="ABCD"
for c in str{
print("c=\(c)")
}
print("UTF-8 编码: ")
for code in str.utf8 {
print("(code) ")
}
print("\n")
print("UTF-16 编码: ")
for code in str.utf16 {
print("(code) ")
}
print("----------通过索引遍历-------------")
for index in 0..<str.count{
print("index=\(index),c =\(str[str.index(str.startIndex,offsetBy: index)])")
}
print("----------反向遍历-------------")
for index in(0..<str.count ).reversed(){
print("index=\(index),c =\(str[str.index(str.startIndex,offsetBy: index)])")
}