字符串和字符

字符串是字符的集合,例如“ hello world ”或“ my medium account ”。 Swift字符串实际上是String(Struct)类型。 可以通过多种方式访问​​字符串类型的内容,包括字符收集,按范围,计数获取子字符串等。通过在声明类型时选择常量(let)或变量(var)来管理字符串的可变性。

→String Interpolation:以字符串类型插入常量,文字,变量和表达式称为String Interpolation。

Swift字符串由独立于编码的unicode字符组成,因此我们可以在具有各种Unicode表示形式的字符串中使用任何字符。

注意: Swift String类型与NSString类桥接,因此我们可以在String类型上使用所有NSString方法和API 。 Swift String是值类型,因此在传递时,将字符串分配给另一个变量或常量,将创建一个新字符串。 因此,执行时会进行修改。 在后台,Swift优化技术会在需要时照顾复制功能,以提高性能。

字符串文字 是用双引号(“,”)包围的字符序列(集合)。

多行字符串文字:如果我们需要包含多行或多于一行的字符串,我们可以通过用三(3)个双引号(“””)包围的字符序列来创建该字符串。

如果不希望在字符串值中出现换行符,但是为了便于阅读而在源代码中需要使用换行符,则可以使用反斜杠(’\’)。

字符串中的特殊字符:

\ 0→空字符

\\→反斜杠

\ t→水平制表符

\ n→换行

\ r→回车

\”→双引号和\’→单引号

  • 任意Unicode标量,以\ u {n}形式表示:\ u {2665}

→在字符串文字中使用引号:

→字符串的初始化:

我们可以定义一个空的字符串变量,以便进一步与新值一起使用,也可以使用String默认初始化方法创建一个实例。

→使用角色:

我们可以使用字符类型来创建一个字符。 我们还可以使用for-in循环访问字符串中的所有字符。 我们也可以将char类型附加到现有的字符串类型上。

Unicode: Unicode是用于在不同书写系统中编码,处理和表示文本的国际标准。 Swift的String和Character类型完全兼容Unicode,因此可以从任何外部源进行读写。 在幕后,Swift使用Unicode标量,每个字符为21位数字。 Swift使用 扩展字素簇, 这是一个或多个Unicode标量的序列,可产生一个人类可读的字符。 例如, a a` 是通过使用字素簇来构造的,而在最后一个字符中,它是通过组合簇的序列来构造的。 它可以由单个unicode标量构造,因此,当我们比较这两个值时,swift会给出正确的值,因为它知道结果,而与构造过程无关(即,使用单个unicode标量或标量序列)

我们可以通过使用字符串类型的count属性来获取字符串中的字符数。 它返回与标量值无关的人类可读字符计数。 在字符串上使用count属性时,将迭代所有标量值(从内存访问),然后通过对由这些标量形成的每个可读字符进行计数来得出结果。

每个String值都有一个关联的索引类型String.index,它对应于字符串中每个字符的位置。 我们可以使用这些索引类型来插入/修改/删除字符串值。

我们还可以使用hasSuffix(_ 🙂hasPrefix(_ :)方法,它们返回bool类型来处理字符串类型。