首页 > 代码库 > Swift--字符串和字符(一)

Swift--字符串和字符(一)

字符串是字符,如“hello, world”或“"albatross”的有序集合。Swift字符串由String类型,这又代表字符类型的值的集合来表示。

Swift的字符串和字符类型提供了在代码中的文字工作快速,兼容Unicode的方式。该语法字符串创建和操纵轻便性和可读性,具有类似的语法C字符串。串级联很简单,只要用+运算符相加两个字符串,字符串和可变性是由管理一个常量或变量之间进行选择,就像在Swift任何其他值。

尽管这种简单的语法,Swift的字符串类型是一个快速,现代化的字符串实现。每个字符串是由编码无关的Unicode字符,并提供了用于访问这些字符的支持各种Unicode表示。

字符串也可以用来插入常量,变量,常量和表达式转换成更长的字符串,在一个进程被称为字符串插值。这使得很容易地创建用于显示,存储和打印自定义字符串值。

 

字符串字变量

你可以将你的代码作为字符串文字中包含预定义的字符串值。字符串由一对双引号(“”)括起来的文本字符。

字符串文字可以被用来提供一个常量或变量的初始值:

let someString = "Some string literalvalue"

需要注意的是Swift推断为someString常数a String类型的,因为它是用一个字符串值初始化。

字符串可以包含以下特殊字符:

转义特殊字符\0(空字符),\\(反斜线),使用\ t(水平制表符),\ n(换行符),

\ r(回车),\“(双引号)和\‘(单引号)

单字节Unicode标量,写成\ XNN,其中nn是两位十六进制数

两字节Unicode标量,写成\ unnnn,其中nnnn是四个十六进制数字

四字节Unicode标量,写成\Unnnnnnnn,其中nnnnnnnn是八进制数字

 

下面的代码显示各种特殊字符的一个例子。该wiseWords常数包含两个

转义双引号字符。该dollarSign,黑心病和sparklingHeart常量展示

三种不同的Unicode标字符格式:

let wiseWords = "\"Imagination ismore important than knowledge\" - Einstein"

 //"Imagination is more important than knowledge" - Einstein

 letdollarSign = "\x24"        //$,  Unicode scalar U+0024

 letblackHeart = "\u2665"      // ?,  Unicode scalar U+2665

 letsparklingHeart = "\U0001F496" //

 

初始化一个空字符串

初始化字符串有两种方式,下面的例子你可以任选一种:

var emptyString = ""               // empty string literal

var anotherEmptyString = String()  // initializer syntax

// these two strings are both empty, andare equivalent to each other

你可以通过检查一个字符串的的isEmpty属性的Boolean值来确定他是不是空:

if emptyString.isEmpty {

   println("Nothing to see here")

}

// prints "Nothing to see here"

可变字符串

您可以通过将其分配给一个变量表示一个特定的字符串是否可以修改(或突变)(在这种情况下,可以被修改),或者以恒定的(在这种情况下,它不能被修改):

var variableString = "Horse"

variableString += " and carriage"

// variableString is now "Horse andcarriage"

 

let constantString = "Highlander"

constantString += " and anotherHighlander"

// this reports a compile-time error - aconstant string cannot be modified