Swift 字符与字符串
在本章节中,您将学习 Swift 字符和字符串。您还将学习可以对字符串和字符执行的不同操作。
Swift 字符(Character)
字符是一种 数据类型,表示单个字符串("a"、"@"、"5"等)。
我们使用 Character 关键字在 Swift 中创建字符类型变量。例如:
var letter: Character
字符实例
这里,letter 变量只能存储单个字符数据。
// create character variablevar letter: Character = "H"print(letter) // Hvar symbol: Character = "@"print(symbol) // @
在上面的实例中,我们创建了两个字符变量:letter 和 symbol。在这里,我们将 "H" 赋值给 letter,将 "@" 赋值给 symbol。
Swift 字符串
在 Swift 中,一个字符串用于存储文本数据("Hey There!", "Swift is awesome.",等等)。
我们使用 String 关键字来创建字符串类型变量。例如:
let name: String
这里,name 变量只能存储文本数据。
字符串实例
// create string type variableslet name: String = "Swift"print(name)let message = "I love Swift."print(message)
结果如下:
SwiftI love Swift.
在上面的实例中,我们创建了字符串类型变量:name 和 message,分别具有值 "Swift" 和 "I love Swift"。
注意这一句,
let message = "I love Swift."
这里,我们在创建变量时没有使用 String 关键字。这是因为 Swift 能够根据值推断类型。
字符串操作
Swift 中的字符串类提供了各种内置函数,让我们可以对字符串执行不同的操作。
1. 比较两个字符串
我们使用 == 运算符来比较两个字符串。如果两个字符串相等,则运算符返回 true。否则,返回 false。例如:
let str1 = "Hello, world!"let str2 = "I love Swift."let str3 = "Hello, world!"// compare str1 and str2print(str1 == str2)// compare str1 and str3print(str1 == str3)
结果如下:
falsetrue
在上述实例中,
str1 和 str2 不相等。因此,结果为 false。
str1 和 str3 相等。因此,结果是 true。
2.连接两个字符串
我们使用 append() 函数连接 Swift 中的两个字符串。例如:
var greet = "Hello "var name = "Jack"// using the append() methodgreet.append(name)print(greet)
结果如下:
Hello!
在上面的实例中,我们使用 append() 方法连接 name 和 greet。
我们还可以使用 + 和 += 运算符连接两个字符串。
var greet = "Hello, "let name = "Jack"// using + operatorvar result = greet + nameprint(result)//using =+ operatorgreet += nameprint(greet)
结果如下:
Hello, JackHello, Jack
在上面的实例中,我们使用了 + 和 += 运算符来连接两个字符串:greet 和 name。
let 创建 greet。这是因为 += 运算符将两个字符串连接起来,并将新值赋值给 greet。3. 查询字符串的长度
我们使用 count 属性来查找字符串的长度。例如:
let message = "Hello, World!"// count length of a stringprint(message.count) // 13
count 属性统计字符串中包括空格在内的字符总数。其他内置函数
| 内置函数 | 描述 |
|---|---|
| isEmpty | 确定字符串是否为空 |
| capitalized | 将字符串中每个单词的第一个字母大写 |
| uppercased() | 将字符串转换为大写 |
| lowercase() | 将字符串转换为小写 |
| hasPrefix() | 确定字符串是否以特定字符开头 |
| hasSuffix() | 确定字符串是否以特定字符结尾 |
转义字符(转义序列)
转义字符用于转义字符串中的某些字符。
假设我们需要在字符串中包含双引号。
// include double quotevar example = "This is "String" class"print(example) // throws error
由于字符串用双引号表示,编译器将 "This is " 视为字符串。因此,上述代码将导致错误。
为了解决这个问题,我们在 Swift 中使用转义字符 \。
// use the escape charactervar example = "This is \"String\" class"print(example)// Output: This is "String" class
现在,程序将运行无任何错误。这里,转义字符将告诉编译器忽略 \ 之后的字符。
以下是 Swift 支持的所有转义字符的列表。
| 转义字符 | 字符 |
|---|---|
| \0 | null |
| \ | 普通反斜杠 |
| \t | 空格 |
| \n | 换行 |
| \” | 双引号 |
字符串插值
我们还可以使用反斜杠字符 \ 在字符串中使用变量和常量。例如:
let name = "Swift"var message = "This is \(name) programming."print(message)
结果如下:
This is Swift programming.
在上面的实例中,请注意:
var message = "This is \(name) programming."
这里,我们在字符串消息中使用 name 变量。这个过程在 Swift 中称为字符串插值。
Swift 多行字符串
我们还可以在 Swift 中创建多行字符串。为此,我们使用三重双引号 """。例如,
// multiline stringvar str: String = """Swift is awesomeI love Swift"""print(str)
结果如下:
Swift is awesomeI love Swift
在上面的实例中,封闭三重引号内的任何内容都是一个多行字符串。
// error codevar str = """SwiftI love Swift"""
创建字符串实例
我们还可以使用初始值设定项语法创建字符串。例如:
var str = String()
这里,初始化器语法 String() 将创建一个空字符串。