文章目录
  1. 1. 纯 swift 方式
  2. 2. Foundation 方式

原文链接:Splitting Strings in Swift

在字符串的众多操作中,字符串的分割和修整是两个常见的操作。

在 Swift 中,可以使用两种方式来分割字符串,使用纯 Swift 的方式或者使用 Foundation 库的方法。

纯 swift 方式

纯 Swift 方式这样操作:把字符串对应的字符数组按照分割符分割为多个子字符数组,然后使用map把这些子字符数组转换为字符串:

1
2
3
4
5
let line = "Brevity is the soul of wit"
let words = line.characters.split(separator:" ").map(String.init)
words[0] // Brevity
words[5] // wit

或者需要在分割符上做更多的检查时,你可以这样写:

1
2
3
4
let words = line.characters.split{$0 == " "}.map(String.init)
words[0] // Brevity
words[5] // wit

关于 mapflatMap 的知识点,请查看这篇文章

Foundation 方式

如果项目中允许导入 Foundation 库,和大多数情况一样, NSString 已经有可以使用的方法了,components 方法可以把字符串分割为多个子字符串:

1
2
3
4
5
6
import Foundation
let words = line.components(separatedBy: " ")
words[0] // Brevity
words[5] // wit
文章目录
  1. 1. 纯 swift 方式
  2. 2. Foundation 方式