arrays - 如何将字符串的每个单词放入 Swift 中的数组中?

标签 arrays string swift

是否可以将字符串的每个单词放入 Swift 中的数组中?

例如:

var str = "Hello, Playground!"

到:

var arr = ["Hello","Playground"]

谢谢你:)

最佳答案

编辑/更新:

Xcode 10.2 • Swift 5 或更高版本

我们可以使用集合拆分方法扩展StringProtocol

func split(maxSplits: Int = Int.max, omittingEmptySubsequences: Bool = true, whereSeparator isSeparator: (Character) throws -> Bool) rethrows -> [Self.SubSequence]

omittingEmptySubsequences 设置为 true 并将闭包作为谓词传递。我们还可以利用新的 Character 属性 isLetter 来拆分字符串。

extension StringProtocol {
    var words: [SubSequence] {
        return split { !$0.isLetter }
    }
}

let sentence = "• Hello, Playground!"
let words = sentence.words // ["Hello", "Playground"]

关于arrays - 如何将字符串的每个单词放入 Swift 中的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27870385/

相关文章:

java - 如何仅在java中使用lambda按升序和降序对整数数组进行排序

c++ - 使用 boost::split 分割带有多个分隔符的字符串

ios - 如何使用 Swift 在运行时扩展 UIScrollView?

php - 将字符串转换为变量

c++ - 为什么 C 和 C++ 支持在结构中按成员分配数组,但通常不支持?

c++ - 比较字符串而不分配给变量时出现问题

使用 Firebase 数据消息终止应用程序时未收到 iOS 推送通知

ios - 如何在 UICollectionView Swift 中内联播放视频?

具有条件的函数中的 Python- Numpy 数组

sql - Redshift (SQL): try convert to timestamp