Tags: Swift 学习笔记
发布时间:2015-06-25
修改时间:2015-06-25
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。
Swift学习笔记系列——(2)字符串和字符
字符串和字符基于Unicode
初始化空字符串
“”和String()
isEmpty方法判断字符串是否为空
字符串是值类型
- String是用结构体实现的
- 值类型意味着创建副本
- 同样是值类型的还有结构体和枚举
操做字符
- 访问字符串的characters属性得到其中的字符集合
可以用单一字符串字面值创建字符
let exclamationMark:Character=”!”
可以用字符数组创建字符串
let catCharacters: [Character] = [“C”,“a”,“t”,“!”,“��”]
let catString = String(catCharacters)
print(catString)
// prints “Cat!��”
连接字符串和字符
+、+=和append
字符串插入
用“ (字符串常量、字符串变量变量)”插入字符
Unicode
Unicode标量
特殊Unicode字符的字面表示
- \0(null) \(反斜线)\t(水平制表) \n(换行) \r(回车) \”(双引号) \’(单引号)
- 任意一个Unicode标量写作\u{n},n是长度1到8的十六进制数字
扩展字形簇
用一个或多个Unicode标量表示一个字符,比如“é”的另外一种表示。
字符串中字符个数计算
访问字符串的characters属性的count属性
Unicode扩展字形簇并不总是影响字符个数的计算
访问和修改字符串
字符串索引
- 索引不能用整型,要用String.Index类型
- startIndex和endIndex,表示字符串索引的开始和结束
- String.Index类型的方法predecessor()和successor(),对应索引的前一位和后一位
- 全局函数advance(start:n:)和indices(_:),索引的后几位,索引的范围
字符串内容的插入和移除
- insert插入一个字符
- splice插入一个字符串
- removeAtIndex移除一个字符
- removeRange移除一个范围的字符
比较字符串
字符和字符串相等的概念
语义相同标量不同也算相同,外观一样但语义不同不算相同
用==和!=做比较
前缀比较(hasPrefix )和后缀比较(hasSuffix)
字符串的Unicode表示
通过字符串的utf8、utf16和unicodeScalars属性