import Foundation
// A stopwords list is a collection of commonly used words in a language
// that are often removed during text processing tasks.
let stopWords: [String] = [
"i", "me", "my", "myself", "we", "our", "ours", "ourselves", "you", "your",
"yours", "yourself", "yourselves", "he", "him", "his", "himself", "she", "her",
"hers", "herself", "it", "its", "itself", "they", "them", "their", "theirs",
"themselves", "what", "which", "who", "whom", "this", "that", "these", "those",
"am", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had",
"having", "do", "does", "did", "doing", "a", "an", "the", "and", "but", "if", "or",
"because", "as", "until", "while", "of", "at", "by", "for", "with", "about", "against",
"between", "into", "through", "to", "from", "in", "out", "on", "off", "over", "further",
"then", "here", "there", "when", "where", "why", "how", "all", "any", "both", "each",
"few", "more", "most", "other", "some", "such", "no", "nor", "not", "only", "own",
"so", "than", "too", "very", "can", "will", "just", "don", "should", "now"
]
func isStopWord(_ word: String) -> Bool {
return stopWords.contains(word)
}
func splitWords(_ input: String) -> [String] {
return input.trimmingCharacters(in: .whitespacesAndNewlines)
.components(separatedBy: .whitespaces)
.filter { !$0.isEmpty }
}
func removeStopWords(from words: [String]) -> String {
return words.filter { !isStopWord($0) }.joined(separator: " ")
}
let input = "a swift and java to python a we if c# then a and aa"
print("Original: \(input)")
let words = splitWords(input)
let filtered = removeStopWords(from: words)
print("Filtered: \(filtered)")
/*
run:
Original: a swift and java to python a we if c# then a and aa
Filtered: swift java python c# aa
*/