我正在构建一个项目,它可以告诉我一段文本中的独特单词。
我有我原来的字符串脚本文本视图我已将每个单词添加到数组中数组中的每个单词脚本
我现在想创建一个名为的数组脚本唯一字其中仅包括出现一次的单词(换句话说是唯一的)数组中的每个单词脚本
所以我希望我的 scriptUniqueWords 数组等于 = ["Silent","Holy"] 结果。
我不想创建一个没有重复项的数组,而是创建一个只包含首先出现过一次的值的数组。
var scriptTextView = "Silent Night Holy Night"
var scriptEachWordInArray = ["Silent", "night", "Holy", "night"]
var scriptUniqueWords = [String]()
for i in 0..<scriptEachWordInArray.count {
if scriptTextView.components(separatedBy: "\(scriptEachWordInArray[i]) ").count == 1 {
scriptUniqueWords.append(scriptEachWordInArray[i])
print("Unique word \(scriptEachWordInArray[i])")}
}
您可以使用NSCountedSet
let text = "Silent Night Holy Night"
let words = text.lowercased().components(separatedBy: " ")
let countedSet = NSCountedSet(array: words)
let singleOccurrencies = countedSet.filter { countedSet.count(for: $0) == 1 }.flatMap { $0 as? String }
Now singleOccurrencies
包含["holy", "silent"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)