close
Swift - 查找陣列字串
使用 rangeOfString() 需要先 import Fundation
若沒有先 import Fundation,則會在rangeOfString該行出現 value of type "String" has no member "range" 的錯誤
Swift 2.2:
import Foundation
let myArray = ["Yahoo", "Google", "Amazon", "Yamaha", "Yamazaki", "Twitter", "Facebook"]
let itemToSearch = "ya"
let filteredStrings = myArray.filter({(item: String) -> Bool in
var stringMatch = item.lowercaseString.rangeOfString(itemToSearch.lowercaseString)
return stringMatch != nil ? true : false
})
Swift 3.0 :
1. rangeOfString() 改為 range(of: )
2. lowercaseString 改為 lowcased()
import Foundation
let myArray = ["Yahoo", "Google", "Amazon", "Yamaha", "Yamazaki", "Twitter", "Facebook"]
let itemToSearch = "ya"
let filteredStrings = myArray.filter({(item: String) -> Bool in
var stringMatch = item.lowcased().range(of: itemToSearch.lowcased())
return stringMatch != nil ? true : false
})
Apple Doc : API reference
https://developer.apple.com/reference/swift/string
Returns a lowercase version of the string.
func lowercased() -> String
https://developer.apple.com/reference/foundation/nsstring/1410144-range
Finds and returns the range of the first occurrence of a given string within the receiver.
func range(of searchString: String) -> NSRange
文章標籤
全站熱搜