在NSArray中搜索类似%ab%的内容

时间:2012-03-10 09:36:16

标签: ios search nsarray

我想在我的NSArray对象中搜索一些在任何位置都包含特定字母序列的字符串。它应该类似于我们在数据库中使用的“LIKE运算符”。例如,我想在我的NSArray对象中搜索包含'ab'的所有字符串。

2 个答案:

答案 0 :(得分:2)

您可以使用predicate

过滤数组
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"abs", @"bar", @"foo", @"fabs", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] 'ab'"];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

答案 1 :(得分:1)

假设您有一组NSString个对象......

NSArray *array = [NSArray arrayWithObjects:@"String one", @"String two", @"String three", nil];
for (NSString *string in array)
{
    if ([string rangeOfString:@"XYZ"].location != NSNotFound)
        NSLog (@"Found one: %@", string);            
}

[编辑]

要添加您还可以使用rangeOfString:options:方法,如果您需要不区分大小写搜索等。