arrays - 如何从 Swift 中的段落中获取一组单词?

标签 arrays string swift words

如果我有像下面这样的句子,

"Hello everyone. This is a sentence."

如何使用 Swift 获取这样的数组

var words = ["Hello", "everyone", "This", "is", "a", "sentence"]

我还需要一种方法来记住每个单词在原始字符串中的位置,以及句号和逗号的位置。因此,如果我要将这个单词数组重新变成同一个字符串,它将显示为

"Hello everyone. This is a sentence."

谢谢!

最佳答案

按单词分解的子字符串直接内置于 Cocoa 中:

let s = "Hello everyone. This is a sentence."
var arr = [String]()
s.enumerateSubstringsInRange(s.startIndex..<s.endIndex, options: .ByWords) { 
    ss, r, r2, stop in
    arr.append(ss)
}
// now arr is ["Hello", "everyone", "This", "is", "a", "sentence"]

(但是你的规范的其余部分对我来说毫无意义,所以我省略了它。你可以看到如何计算出单词的来源,因为 r 这两个范围r2 告诉你一切。)

关于arrays - 如何从 Swift 中的段落中获取一组单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633145/

相关文章:

php - PHP 中用括号括起来的数组(数组)

c++ - 对象数组和崩溃

javascript - Javascript 字符串中的单转义符和双转义符(反斜杠)有什么区别?

c# - 在一行代码中检查字符串是否为数字

Swift:致命异常:NSInvalidArgumentException -[__NSCFSet getObjects:andKeys:]:无法识别的选择器发送到实例 0x1375886c0

C++ 在字符数组中查找前一个字符之后的字符

objective-c - 是否可以对比 int 所能容纳的更多的值进行位掩码?

python - 确定两个字符串匹配多少

swift - 音板 Swift 2

ios - 后退按钮左对齐 IOS 9