Как применить логическое ИЛИ к строковым операндам в Swift 2?

Я пытался написать массив с классами, которые являются "поисковыми запросами", и я пишу цикл for, который просматривает их и выбирает ключевые слова, используя.rangeOfString:

import UIKit

var str = "Hello, playground"

class Search {
  var searchQuery:String

 init (query:String) {

    self.searchQuery = query

    }
}

var innocent = 0
var suspicious = 0
let keyword = "terrorist"

let queries = [Search(query: "How to be a terrorist"), Search(query: "How to join
Islamic State"), Search(query: "I want to be an astronaut")]

for query in queries {
if (query.searchQuery.rangeOfString(keyword) != nil){
    suspicious++
}
else {
    innocent++
  }
}

print(suspicious)

Я хочу сделать так, чтобы я мог иметь более одного ключевого слова (например, "Исламское государство" и "террорист"), поэтому, если он обнаруживает любое из них, он увеличивает подозрительность, но я не могу применить оператор ИЛИ к двум строкам по какой-то причине, не уверен Зачем. Кто-нибудь знает, как это может быть возможно в Swift?

Я новичок в Swift, и мое программирование в целом ржавое, поэтому любые советы о том, как улучшить этот код в целом (есть ли другой, лучший способ сделать это, кроме.rangeOfString, как на самом деле будет выполняться фильтрация по поисковым запросам в реальном жизнь в поисковых системах?) высоко ценится. Спасибо!

0 ответов

Другие вопросы по тегам