Swift4.0新特性之String、Array和Dictionary

来源:互联网 发布:淘宝电脑客户端 编辑:程序博客网 时间:2024/06/05 15:04

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 literalvar 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)) // Hprint(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