2016-11-16 22 views
0

有沒有解決方案讓我做下面的代碼?多個RangeOfString在一個變量

let tmp: NSString = data.status 
     let tmp1: NSString = data.process 
let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch) && tmp1.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch) 
     return range.location != NSNotFound 

我這樣做是因爲我想搜索多個字段。 謝謝

回答

0

enter image description here你可以試試這個

if data.status.lowercased().contains(searchText.lowercased()) || data.process.contains(searchText) { 
    return true 
}else { 
    return false 
} 
+0

我還可以這樣做有我的可變範圍?對不起,因爲我剛剛觸及迅速3天 –

+0

它只會檢查搜索字符串是否包含狀態或進程 –

+0

我得到的類型'字符串'的值沒有成員'lowercased' –

0

如果你正在尋找的範圍,你應該使用RegularExpression代替

import Foundation 

let pattern = "search" 

let regexp = try! NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options()) 
let string = "String to search in search" 
regexp.enumerateMatches(in: string, options: NSRegularExpression.MatchingOptions(), range: NSMakeRange(0, string.characters.count), using: { (result, flags, stop) in 

    if result?.range != nil { 
     print("Range is \(result!.range.location)-\(result!.range.length)") 
    } 
})