class book{
var nameOfBook: String!
}
var englishBooks=[book(),book(),book()]
var arr = englishBooks.filter {
contains($0.nameOfBook, "rt")
}
このフィルターを使用していますが、エラーが発生し、引数でフィルターを呼び出すことができません
ベストアンサー1
contains()
シーケンスに指定された要素が含まれているかどうかを確認します。たとえば、 にString
指定された が含まれているかどうかを確認します。Character
名前に部分文字列「rt」の場合は、次を使用できますrangeOfString()
:
var arr = englishBooks.filter {
$0.nameOfBook.rangeOfString("rt") != nil
}
または大文字と小文字を区別しない比較の場合:
var arr = englishBooks.filter {
$0.nameOfBook.rangeOfString("rt", options: .CaseInsensitiveSearch) != nil
}
現在スイフト2、使用できます
nameOfBook.containsString("rt") // or
nameOfBook.localizedCaseInsensitiveContainsString("rt")
そしてスイフト3これは
nameOfBook.contains("rt") // or
nameOfBook.localizedStandardContains("rt") // or
nameOfBook.range(of: "rt", options: .caseInsensitive) != nil