1.空字符串
var emptyString = "" //空字符串字面量
var anotherEmptyString = String() //初始化方法
// 两个字符串均为空并等价。
您可以通过检查其 Bool类型的 isEmpty 属性来判断该字符串是否为空: emptyString.isEmpty
2.遍历字符串
可通过 for-in循环来遍历字符串中的 characters属性来获取每一个字符的值:
for character in "Dog!?".characters {
print(character)
}
// D// o// g// !// ?
字符数量:str.characters.count
3.拼接构建字符串
字符串是值类型,可用“+”,“+=”,append()来拼接字符串,
可用插值构建新字符串:
let multiplier = 3
let message = "\(multiplier) times)"
4.访问和修改字符串
可以使用下标语法来访问 String 特定索引的 Character 。
let greeting = "Guten Tag!"
greeting[greeting.startIndex]
// G
greeting[greeting.index(before: greeting.endIndex)]
// !
greeting[greeting.index(after: greeting.startIndex)]
// u
let index = greeting.index(greeting.startIndex, offsetBy: 7)
greeting[index]
// a
使用 characters 属性的 indices 属性会创建一个包含全部索引的范围(Range),用来在一个字符串中访问单 个字符。
for index in greeting.characters.indices {
print("\(greeting[index]) ", terminator: "")
}
// 打印输出 "G u t e n T a g ! "
调用 insert(_:at:) 方法可以在一个字符串的指定索引插入一个字符,调用 insert(contentsOf:at:) 方法可 以在一个字符串的指定索引插入一个段字符串。
var welcome = "hello"
welcome.insert("!", at: welcome.endIndex) // welcome 变量现在等于 "hello!"
welcome.insert(contentsOf:" there".characters, at: welcome.index(before: welcome.endIndex)) // welcome 变量现在等于 "hello there!"
调用 remove(at:) 方法可以在一个字符串的指定索引删除一个字符,调用 removeSubrange(_:) 方法可以在一 个字符串的指定索引删除一个子字符串。
welcome.remove(at: welcome.index(before: welcome.endIndex)) // welcome 现在等于 "hello there"
let range = welcome.index(welcome.endIndex, offsetBy: -6)..
// welcome 现在等于 "hello"
5.比较字符串
Swift 提供了三种方式来比较文本值:字符串字符相等、前缀相等和后缀相等。 字符串/字符相等
字符串/字符可以用等于操作符( == )和不等于操作符( != )
前缀/后缀相等
通过调用字符串的 hasPrefix(_:) / hasSuffix(_:) 方法来检查字符串是否拥有特定前缀/后缀,两个方法均接收一 个 String 类型的参数,并返回一个布尔值