字符与字符串

Swift采用unicode 作为默认编码方式构成字符串

字符类型:Character

字符串类型:String

var name:String = "neusoft"

print("name:\(name)")

字符串的创建和初始化:

如创建空串的两种方法:

var str1 = ""

var str2 = String()

if str1.isEmpty {

print("string is empty")

}


字符串对象的基本操作

字符串的连接操作

String类型支持+ +=等运算符的操作,如:

var str1 = "abc"

var str2 = "def"

var str3:String;

str3 = str1 + str2

str2 += str3

print("str3:\(str3) str2:\(str2)”) // str3:abcdef str2:defabcdef

String类型的对象,可以使用appendContentOf方法进行连接,如:

let str1 = "abc"

var str2 = "def"

var str3:String;

str3 = str1 + str2

str2.appendContentsOf(str3)

print("str3:\(str3) str2:\(str2)")

String类型的对象,可以使用append方法进行字符的连接,如:

let ch:Character = "!"

var str:String = "Hello"

str.append(ch)

print("str:\(str)”) //Hello!

字符串的长度:

需要转化为指定编码格式后,调用方法count获取,如:

print("str:\(str) \(str.utf8.count)”) //6 str是上面的字符串

字符串的内插:

print()函数传递的参数即一个字符串,如:print("str:\(str) \(str.utf8.count)”)

其中\(var)就被称作字符串的内插,如:

var number:Int = 100;

var str:String = "number is \(number)"

print(str) // number is 100

内插形式中\()不能包含:双引号、单引号、反斜杠等,取字典key对应的value也不行

字符串比较:

字符串对象可以直接使用== != 运算进行比较,如:

let str1 = "hello"

var str2 = "Hello"

if str1 == str2 {

print("相等")

}

else {

print("不相等")

}

字符串对象可以使用hasPrefix和hasSuffix判断是否包含前后缀,如:

let str = "libc.so"

if str.hasPrefix("lib") {

print("包含lib前缀")

}

if str.hasSuffix("so") {

print("包含so后缀")

}