一尘不染

Swift版本的ComponentsSeparatedByString

swift

我知道它的菜鸟问题,我真的在询问之前四处搜寻。但是我想知道的事情并没有确切的答案。我们如何不使用目标C将字符串拆分为数组?例如:

var str = "Today is so hot"
var arr = str.componentsSeparatedByString(" ")  // *
  • 我知道它不起作用,但是我正在寻找那样的东西。我想用“”分割字符串(或其他字符/字符串)

想法:对我来说可能很好,扩展了字符串类。但是我不知道我该怎么做。

编辑:忘记导入基础。如果我导入基础,它将起作用。但是与扩展String类有什么关系吗?谢谢


阅读 400

收藏
2020-07-07

共1个答案

一尘不染

如果要按给定 字符 分割字符串,则可以使用内置split()方法,而无需Foundation:

let str = "Today is so hot"
let arr = split(str, { $0 == " "}, maxSplit: Int.max, allowEmptySlices: false)
println(arr) // [Today, is, so, hot]

Swift 1.2更新: 使用Swift 1.2(Xcode 6.3)更改了参数的顺序,比较[拆分现在抱怨缺少“
isSeparator”]

let str = "Today is so hot"
let arr = split(str, maxSplit: Int.max, allowEmptySlices: false, isSeparator: { $0 == " "} )
println(arr) // [Today, is, so, hot]

Swift 更新:

let str = "Today is so hot"
let arr = str.characters.split(separator: " ").map(String.init)
print(arr)
2020-07-07