fla*_*dev 2 arrays unique swift
我正在建立一个项目,告诉我一段文本中的独特单词。
我有我的原始字符串scriptTextView,已将每个单词添加到数组scriptEachWordInArray
我现在想创建一个名为scriptUniqueWords的数组,该数组仅包含在scriptEachWordInArray中出现一次的单词(换句话说,是唯一的)
因此,我希望我的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])")}
}
Run Code Online (Sandbox Code Playgroud)
let array = ["1", "1", "2", "2", "3", "3"]
let unique = Array(Set(array))
// ["1", "2", "3"]
Run Code Online (Sandbox Code Playgroud)
您可以使用 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 }
Run Code Online (Sandbox Code Playgroud)
现在singleOccurrencies包含["holy", "silent"]
| 归档时间: |
|
| 查看次数: |
6854 次 |
| 最近记录: |