Chcę wyszukać określony ciąg w tablicy ciągów znaków w punkcie c. Czy ktoś może mi pomóc w tym zakresie?Wyszukiwanie ciągów w tablicy ciągów w obiekcie c
Odpowiedz
BOOL isTheObjectThere = [myArray containsObject: @"my string"];
lub jeśli trzeba wiedzieć, gdzie to jest
NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];
gorąco polecam zapoznanie się z documentation on NSArray. Najlepiej to zrobić przed opublikowaniem pytania :-)
pozwala na napisanie, że mam tablicę zawierającą NSArray * myArr = [[NSArray alloc] initWithObjects: @ "test1", @ "test3", @ "test3", nil]; Chciałem wyszukać "tes", powiedzmy, że chciałem pracować z dziką kartą, której nie mogłem zrozumieć, więc zadałem to pytanie, ale dzięki za odpowiedź, docenione –
Przeszukujesz i testujesz każdą wartość, lub zajrzyj do NSPredicate, które zapewnia całkiem obszerne wyszukiwanie obiektów kolekcji - prawie tak samo wydajne jak klauzule SQL. http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Predicates/predicates.html#//apple_ref/doc/uid/TP40001789 – JeremyP
Możesz użyć klasy NSPredicate do wyszukiwania ciągów w tablicy łańcuchów. Zobacz poniższy przykładowy kod.
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];
Jest to najbardziej skuteczny sposób na wyszukiwanie ciągów znaków w tablicy ciągów
działa to dobrze dla małych układów, ale jeśli masz bardzo duży array (więcej niż 30k rekordów) może mieć jakiś pomysł –
Następnie należy posortować tablicę i użyć wyszukiwania binarnego (bsearch) do lokalizowania i wstawiania nowych elementów. NSArray/NSMutableArray mają na to metody. – spstanley
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];
Podczas gdy ten fragment kodu może odpowiedzieć na pytanie, lepiej jest podać wyjaśnienie, w jaki sposób odpowiada na pytanie, aby ta odpowiedź była przydatna dla przyszłych odwiedzających stronę – RobV
Ten fragment kodu działa dobrze, aby znaleźć słowo w tablicy słowa. –
- 1. Wyszukiwanie ciągów nie% w% innych wektorach ciągów znaków
- 2. tablicy ciągów w Groovy
- 3. tworzenie dynamicznej tablicy ciągów C++
- 4. Jak dodać tablicę ciągów w obiekcie JSON?
- 5. ForEach to Trim wartości ciągów w tablicy ciągów znaków
- 6. wyszukiwanie ciągów przy użyciu OQL
- 7. Tworzenie tablicy pustych ciągów?
- 8. C - podzielonego ciąg do tablicy ciągów
- 9. JSONArray do tablicy ciągów
- 10. Konwertuj zapytanie linq do tablicy ciągów - C#
- 11. Inicjowanie tablicy ciągów w wywołaniu metody jako parametr w C#
- 12. Tablica ciągów ciągów znaków
- 13. Szybkie parsowanie ciągów w C#
- 14. Pozbywanie się pustych wartości ciągów w tablicy C#
- 15. IndexOf z tablicy ciągów w VB.NET
- 16. JavaScript: Tekst Zastąpić wiele ciągów w tablicy?
- 17. Jak wyszukiwać ciąg w tablicy ciągów
- 18. Elasticsearch terminy agregacja według ciągów w tablicy
- 19. wyszukiwania kluczy słownikowych zawartych w tablicy ciągów
- 20. Pobierz ostatni element tablicy ciągów w vb6?
- 21. Sortowanie na tablicy ciągów w ElasticSearch
- 22. Rails - spaść z tablicy ciągów
- 23. Gson tablicy ciągów do JsonArray
- 24. dodać ciąg do tablicy ciągów
- 25. Najczęstsze element tablicy ciągów, MATLAB
- 26. C makr do tworzenia ciągów
- 27. Wyszukiwanie binarne ciągów - minimalna szerokość kosza?
- 28. Marshaling wskaźnik do tablicy ciągów
- 29. Porównywanie ciągów i tablic C#
- 30. Jak utworzyć tablicę ciągów w C?
Czy swoją pracę domową? Myślę, że to jest łatwe do zrobienia. Dlaczego po prostu zapętlanie i porównywanie? – vodkhang
na, to nie praca domowa, potrzebowałem najlepszego algorytmu do wyszukania określonego ciągu, który nie kosztuje dużo zasobów w iphone, to dlaczego postawiłem pytanie –
możliwy duplikat [Objective-C Search NSArray for String?] (Http: // stackoverflow .com/questions/3588344/objective-c-search-nsarray-for-string) – nielsbot