Swift4.0新特性之String、Array和Dictionary
- 推荐: Swift 编程语言
- 原文链接: What’s New in Swift 4?
- Guards翻译组: 中文地址
Swift 4是苹果计划在2017年秋季推出的最新版本,值得关注的是其提供了与Swift 3代码很好的兼容性,并最大限度的保持了ABI稳定性.
String
字符串已经像之前的2.0版一样, 改为了Collection类型 。此变化消除了字符串对字符数组的依赖
0.创建空字符串的两种方式,可用isEmpty判断是否为空
let SwiftString = "Hello"
var emptyString = "" // empty string literal
var anotherEmptyString = String()
1.字符和字符串
1.1 遍历字符串
for char in SwiftString {
print(char)
}
1.2通过 Character类型创建单个字符
let char : Character = "H"
1.3 String值可以通过传入 Character来构造:
let charArr : [Character] = ["H", "e", "l", "l", "o"]
print(String(char)) // H
print(String(charArr)) // Hello
1.4 拼接字符串
//方式一:
let addString = String(charArr) + String(char) //HelloH
//方式二:
var addString2 = "Why"
addString2 += String(charArr) //"WhyHello"
2.字符串个数
let count1 = SwiftString.count //5(类型: String.CharacterView.IndexDistance)
let count2 = SwiftString.characters.count // 5(Int型)
count1:
3.是否为空
let isStr = SwiftString.isEmpty //false
4.去掉某一个或几个字符
let text1 = SwiftString.dropFirst()//"ello"
let text2 = SwiftString.dropLast()//"Hell"
let text3 = SwiftString.dropFirst(2)//"llo"
let text4 = SwiftString.dropLast(2)//"Hel"
//注:以上皆为String.SubSequence类型
let text5 = String(text1) //"ello"---text5为String类型
5.倒叙
let text6 = String(SwiftString.reversed()) //"olleH"
6.字符串分割数组
let swiftString2 = "one two three"
let StrArr = swiftString2.split(separator: " ") //["one", "two", "three"]
//let StrArr: [String.SubSequence]
7.删除不符合ASCII编码的字符
let swiftString3 = "quanjun