NSPredicate检查字符串属性中的任何单词是否与Swift中的搜索词匹配

时间:2019-01-23 22:12:52

标签: objective-c core-data nspredicate

我想使用NSPredicate在Core Data中的字符串属性中搜索搜索词。字符串属性可以是一个单词,也可以是多个单词,例如UlyssesThe Red Badge of Courage

我可以按以下方式使用contains

NSPredicate *pred= [NSPredicate predicateWithFormat:@"title contains[cd] %@",str];

但是,为了防止与搜索词rage匹配,例如,针对The Red Badge Of Courage,从单词开头查找匹配项会更安全。

有没有一种修改开始的方法,因此您可以将其应用于字符串中的任何单词,而不仅仅是整个字符串,即:

的某些变体
NSPredicate *pred = [NSPredicate predicateWithFormat:@"title beginswith[cd] %@", str];

您还可以使用以下方法搜索属性值是否与搜索词中的任何单词匹配:

NSPredicate *pred = [NSPredicate predicateWithFormat: @"SELF IN %@", str]

基本上,我想做相反的事情,检查搜索字符串是否匹配核心数据中属性中的任何单词。

感谢任何建议

0 个答案:

没有答案