From f416e311eb87d192464682e1d54d5a13f2f9ff79 Mon Sep 17 00:00:00 2001 From: Elf Sundae Date: Thu, 30 Jan 2020 00:16:12 +0800 Subject: [PATCH] Update 03_Strings_and_Characters.md (#1022) * Update 03_Strings_and_Characters.md * SubString -> Substring * Fix StringProtocol documentation URL --- .../02_language_guide/03_Strings_and_Characters.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/02_language_guide/03_Strings_and_Characters.md b/source/02_language_guide/03_Strings_and_Characters.md index 383766e2..b85a5123 100755 --- a/source/02_language_guide/03_Strings_and_Characters.md +++ b/source/02_language_guide/03_Strings_and_Characters.md @@ -1,6 +1,6 @@ # 字符串和字符 -*字符串*是是一系列字符的集合,例如 `"hello, world"`,`"albatross"`。Swift 的字符串通过 `String` 类型来表示。而 `String` 内容的访问方式有多种,例如以 `Character` 值的集合。 +*字符串*是一系列字符的集合,例如 `"hello, world"`,`"albatross"`。Swift 的字符串通过 `String` 类型来表示。而 `String` 内容的访问方式有多种,例如以 `Character` 值的集合。 Swift 的 `String` 和 `Character` 类型提供了一种快速且兼容 Unicode 的方式来处理代码中的文本内容。创建和操作字符串的语法与 C 语言中字符串操作相似,轻量并且易读。通过 `+` 符号就可以非常简单的实现两个字符串的拼接操作。与 Swift 中其他值一样,能否更改字符串的值,取决于其被定义为常量还是变量。你可以在已有字符串中插入常量、变量、字面量和表达式从而形成更长的字符串,这一过程也被称为字符串插值。尤其是在为显示、存储和打印创建自定义字符串值时,字符串插值操作尤其有用。 @@ -384,7 +384,7 @@ greeting[index] ```swift greeting[greeting.endIndex] // error -greeting.index(after: endIndex) // error +greeting.index(after: greeting.endIndex) // error ``` 使用 `indices` 属性会创建一个包含全部索引的范围(`Range`),用来在一个字符串中访问单个字符。 @@ -430,7 +430,7 @@ welcome.removeSubrange(range) ## 子字符串 {#substrings} -当你从字符串中获取一个子字符串 —— 例如,使用下标或者 `prefix(_:)` 之类的方法 —— 就可以得到一个 `SubString` 的实例,而非另外一个 `String`。Swift 里的 `SubString` 绝大部分函数都跟 `String` 一样,意味着你可以使用同样的方式去操作 `SubString` 和 `String`。然而,跟 `String` 不同的是,你只有在短时间内需要操作字符串时,才会使用 `SubString`。当你需要长时间保存结果时,就把 `SubString` 转化为 `String` 的实例: +当你从字符串中获取一个子字符串 —— 例如,使用下标或者 `prefix(_:)` 之类的方法 —— 就可以得到一个 `Substring` 的实例,而非另外一个 `String`。Swift 里的 `Substring` 绝大部分函数都跟 `String` 一样,意味着你可以使用同样的方式去操作 `Substring` 和 `String`。然而,跟 `String` 不同的是,你只有在短时间内需要操作字符串时,才会使用 `Substring`。当你需要长时间保存结果时,就把 `Substring` 转化为 `String` 的实例: ```swift let greeting = "Hello, world!" @@ -442,15 +442,15 @@ let beginning = greeting[.. 注意 > -> `String` 和 `SubString` 都遵循 `StringProtocol` 协议,这意味着操作字符串的函数使用 `StringProtocol` 会更加方便。你可以传入 `String` 或 `SubString` 去调用函数。 +> `String` 和 `Substring` 都遵循 [`StringProtocol`](https://developer.apple.com/documentation/swift/stringprotocol) 协议,这意味着操作字符串的函数使用 `StringProtocol` 会更加方便。你可以传入 `String` 或 `Substring` 去调用函数。 ## 比较字符串 {#comparing-strings}