2013-02-27 51 views
0

使用NSSPredicate的以下表达式将检查数据中是否存在任何'CAT'关键字。我想要放置一些变量而不是'CAT'关键字。我怎么能这样做,因为我是一个首发,希望你会对我好。谢谢。NSSPredicate变量匹配 - 目标c

NSPredicate *catPredicate = 
[NSPredicate predicateWithFormat:@"SELF MATCHES '.*(CAT).*'"]; 

回答

1

要做到这一点,你可以构建谓语以外的模式字符串,然后配置断言:

NSString *searchString = @"CAT"; 
NSString *regexString = [NSString stringWithFormat:@".*(%@).*", searchString]; 

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexString]; 
+0

thanx somuch !!!这是iam真正需要的。 – 2013-02-27 11:44:06

1

你可以使用这个方法更扩展的途径,即:

NSString *myString = @"CAT";  
[NSPredicate predicateWithFormat:@"SELF MATCHES '.*(%@).*'",myString]; 
+0

谢谢..我已经尝试了很多次,但没有工作! – 2013-02-27 11:46:59