如何筛选以字母字符

时间:2017-02-07 12:15:59

标签: swift realm nspredicate

我想在Swift中过滤Realm结果,只获取以字母字符开头的记录。 使用Realm Swift版本2.4.2

最初的想法是使用带有正则表达式的MATCHES谓词字符串

var predicate = NSPredicate(format: "firstName MATCHES '^[a-z].*'")
let realm = try! Realm()
realm.objects(Friend.self).filter(predicate)

但是,对于Realm过滤使用MATCHES谓词会导致应用程序崩溃:

  

libc ++ abi.dylib:以未捕获的类型异常终止   NSException

它适用于BEGINSWITH,但为此,所有字符都应为“OR”编辑:

var predicate = NSPredicate(format: "firstName BEGINSWITH[c] 'a' OR firstName BEGINSWITH[c] 'b' OR ... OR firstName BEGINSWITH[c] 'z'")

Realm文档告知过滤器支持MATCHES - https://realm.io/news/nspredicate-cheatsheet/

所以问题是:在Realm Swift上以字母字符开头过滤Realm结果的最佳方法是什么?

0 个答案:

没有答案