小编典典
您可以使用String方法enumerateSubstringsInRange。第一个参数只是传递您的字符串Range和选项.byWords。只需将每个子字符串附加到结果集合中并返回即可。
Swift 5或更高版本 (对于较早的Swift语法,请检查编辑历史记录)
import Foundation
extension StringProtocol { // for Swift 4 you need to add the constrain `where Index == String.Index`
var byWords: [SubSequence] {
var byWords: [SubSequence] = []
enumerateSubstrings(in: startIndex..., options: .byWords) { _, range, _, _ in
byWords.append(self[range])
}
return byWords
}
}
用法:
let sentence = "Out of this world!!!"
let words = sentence.byWords // ["Out", "of", "this", "world"]
let firstWord = words.first // "Out"
let lastWord = words.last // world"
let first2Words = words.prefix(2) // ["Out", "of"