0

我在我的应用程序中使用 coredata,

我可以搜索所有带有首字母的实体,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name MATCHES '^[hH].*'"];
//sort descriptor!
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
NSArray *companyProducts = [Company allWithPredicate:predicate sortDescriptors:@[sortDescriptor]];
Company *theCompany;
NSLog(@"tus companies number:: %d", companyProducts.count);
for (theCompany in companyProducts) {
    NSLog(@"tus companies:: %@", theCompany.name);
}

所以在这种情况下,我会让所有公司都以 h 开头,无论是小写还是大写......

但是如果我需要搜索多个字母的匹配项?不管是小写还是大写,

例如寻找:

超级晓星

所以我需要知道如何构建我的正则表达式?在我的属性中搜索 n 个字符?

谢谢!

4

1 回答 1

4

尝试

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name BEGINSWITH [c] %@",@"H"];
于 2013-06-20T04:52:24.187 回答