2012-03-10 3 views
0

Je souhaite rechercher dans mon objet NSArray des chaînes contenant une séquence particulière de lettres à n'importe quelle position. Cela devrait ressembler à quelque chose comme "l'opérateur LIKE" que nous utilisons dans la base de données. Par exemple, je veux rechercher toute la chaîne contenant 'ab' dans mon objet NSArray.rechercher quelque chose comme% ab% dans NSArray

Répondre

1

En supposant que vous avez un tableau de NSString objets ...

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);    
} 

[modifier]

Pour ajouter que vous pouvez également utiliser la méthode rangeOfString:options: si vous avez besoin au cas des recherches insensibles entre autres.

2

Vous pouvez filtrer un tableau avec predicate:

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

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