在目标c中的字符串数组中搜索字符串

时间:2010-05-10 11:20:52

标签: ios objective-c arrays nsstring

我想在目标c中搜索字符串数组中的特定字符串。在这方面有人可以帮助我吗?

3 个答案:

答案 0 :(得分:185)

BOOL isTheObjectThere = [myArray containsObject: @"my string"];

或者如果你需要知道它在哪里

NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];

我强烈建议您阅读documentation on NSArray。在发布您的问题之前最好这样做: - )

答案 1 :(得分:44)

您可以使用NSPredicate类搜索字符串数组中的字符串。 请参阅以下示例代码。

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Maruthi",@"Hyundai", @"Ford", @"Benz", @"BMW",@"Toyota",nil];

NSString *stringToSearch = @"i";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",stringToSearch]; // if you need case sensitive search avoid '[c]' in the predicate

NSArray *results = [cars filteredArrayUsingPredicate:predicate];

这是在字符串数组中搜索字符串的最有效方法

答案 2 :(得分:2)

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Max",@"Hai", @"Fine", @"Bow", @"Bomb",@"Toy",nil];

NSString *searchText = @"i";
 NSArray *results = [cars filteredArrayUsingPredicate:predicate];

// if you need case sensitive search avoid '[c]' in the predicate

 NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"title contains[c] %@",
                                searchText];


searchResults = [cars  filteredArrayUsingPredicate:resultPredicate];