web-dev-qa-db-ja.com

目的cの文字列配列での文字列検索

Objective Cの文字列の配列で特定の文字列を検索したいのですが、この点で誰か助けてもらえますか?

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

または、それがどこにあるかを知る必要がある場合

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

NSArrayのドキュメント を読むことを強くお勧めします。質問を投稿する前にそれを行うのが最善です:-)

189
JeremyP

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];

これは、文字列の配列で文字列を検索するための最も効率的な方法です

45
Rashid
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];
2
Rahul K Rajan