swift中字符与字符串(Character和String)

来源:互联网 发布:win10优化知乎 编辑:程序博客网 时间:2024/06/04 17:48

字符

let money: Character = "¥"var face: Character = "��"println(money + face)  // 结果为¥��

字符串
Swift中的字符串不是指针,而是实际的值

let someString = "ABC"var someStr = "ABC"

/*
字符串常量可以包括下面这些特殊字符:
空字符\0,反斜杠\,制表符\t,换行符\n,回车符\r,双引号\”和单引号\’
单字节Unicode字符,\xnn,其中nn是两个十六进制数
双字节Unicode字符,\unnnn,其中nnnn是四个十六进制数
四字节Unicode字符,\Unnnnnnnn,其中nnnnnnnn是八个十六进制数
*/

let words = " \" "let dollarSign = "\x24" //$let blackHeart = "\u2665"   //♥let sparkHeart = "\U0001F496"   //��
//初始化空的字符串var emptyString = ""var anotherEmptyString = String()//检查字符串是否为空if emptyString.isEmpty {    println("Nothing to see here")}//变长字符串var variableString = "Horse"variableString += " and carriage"println(variableString)let constantString = ""//constantString += "123" //错误, constantString 是常量//4.字符计数//在Swift里面,使用countElements来计算一个字符串中的字符的数量let countStr = "wo love iOS and swift"println("countStr count is \(countElements(countStr))")/*注意:通过 countElements 返回的字符数量并不总是与包含相同字符的 NSString 的 length 属性相同。NSString 的 length 属性是基于利用 UTF-16 编码的数目,而不是基于 Unicode 字符//Swift 中的字符在一个字符串中 并不一定占用相同的内存空间,需使用全局函数countElements计算一个字符串中字符的数量*///5.组合字符串与字符let string1 = "hello"let string2 = " there"let character1: Character = "!"let character2: Character = "?"let stringPlusCharacter = string1 + character1               // hellohellolet stringPlusString = string1 + string2                     // hello therelet characterPlusString = character1 + string1               // !hellolet characterPlusCharacter = character1 + character2         // !?//6.字符串格式化let sum = 3println("sum is \(sum), sum double is \(Double(sum) * 2.5)")

字符串比较
Swift提供三种方法比较字符串的值:字符串相等,前缀相等,和后缀相等

//1字符串相等let someStr1 = "ABC"let someStr2 = "ABC"if someStr1 == someStr2 {    println("someStr1 == someStr2")}//2前缀相等let animals = ["食肉:老虎", "食肉:狮子", "食草:牛群", "食草:羊群", "食草:马群"]var aCount = 0var bCount = 0for animal in animals {    if animal.hasPrefix("食肉"){  //前缀相等        ++aCount    }    if animal.hasSuffix("群"){   //后缀相等        ++bCount    }}println("这有\(aCount)头食肉动物")println("这有\(bCount)群食草动物")

字符串大小写

let normal = "Could you help me, please?"let shouty = normal.uppercaseString     //大写let whispered = normal.lowercaseString  //小写

字符串编码

let dogString = "Dog!��"//utf-8for codeUnit in dogString.utf8 {    print("\(codeUnit) ")                // 68 111 103 33 240 159 144 182 }print("\n")//utf-16for codeUnit in dogString.utf16 {    print("\(codeUnit) ")              // 68 111 103 33 55357 56374}print("\n")//unicode 标量for scalar in dogString.unicodeScalars {//    print("\(scalar)")    print("\(scalar.value) ")           // 68 111 103 33 128054}
0 0
原创粉丝点击