Swift的字符串类型由String
类型表示,也有多种访问方式,例如以Character
集合方式访问。
字符串字面量
字符串的字面量是一对双引号包裹着的具有固定顺序的字符集。
多行字符串的字面量
一对三个引号包裹着的字符串是多行字符串字面量。字符串开始位置为三引号后一行(意味着第一个换行符不会计入),结束位置是三引号前一行(意味着三引号前的换行符不计入)。
多行字符串出现换行符,那么字符串对应位置也有换行符。如果不需要换行符,并且希望换行的话需要使用反斜杠\
作为续行符。
多行字符串会对缩进进行匹配,关闭引号前的空格数会看做缩进直接去除。
字符串字面量特殊字符
- 转义字符
-
\0
:空字符 -
\\
:反斜线 -
\t
:水平制表符 -
\n
:换行符 -
\r
:回车符 -
\"
:双引号 -
\'
:单引号
-
- Unicode字符
-
\u{n}
:n是任意一个八位十六进制且可用的Unicode位码
-
在三引号中使用单个双引号不需要转义,使用三引号至少需要将一个双引号转义。
扩展字符串分隔符
将引号的外面加上一对#
,那么引号内转义意义消失,变成普通字符。如果需要转义,那么要在反斜杠后加上对应数量的#
,例如# "Line1 \#n Line2" #
的转义字符就会生效。多行字符串也有一样的效果。
初始化空字符串
有两种方式:
var emptyString = ""
var anotherEmptyString = String()
两种方式完全等价。并且可以使用isEmpty
属性判断是否为空字符串。
字符串是值类型
因此字符串在拷贝时会拷贝一份副本,而不是对原始字符串进行操作。
使用字符
可以使用for-in
语法逐个访问字符,同时也可以使用字符数组初始化字符串:
let catCharacters: [Character] = ["C", "a", "t", "!", "