Deseo buscar una cadena específica en la matriz de cadenas en el objetivo c. ¿Alguien puede ayudarme en este sentido?Búsqueda de cadenas en matriz de cadenas en el objetivo c
Respuesta
BOOL isTheObjectThere = [myArray containsObject: @"my string"];
o si lo que necesita saber dónde está
NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];
recomiendo que lea el documentation on NSArray. Lo mejor es hacerlo antes de publicar su pregunta :-)
Digamos que tengo una matriz que contiene NSArray * myArr = [[NSArray alloc] initWithObjects: @ "test1", @ "test3", @ "test3", nil]; quería buscar "tes" digamos entonces quería un stuf de comodín para trabajar, que no podía entender, así que hice esta pregunta, pero gracias por la respuesta, apreciado –
o recorre y prueba cada valor, o busque en NSPredicate, que proporciona una búsqueda bastante completa de objetos de colección, casi tan poderoso como las cláusulas SQL where. http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Predicates/predicates.html#//apple_ref/doc/uid/TP40001789 – JeremyP
Puede usar la clase NSPredicate para buscar cadenas en una matriz de cadenas. Vea el siguiente código de muestra.
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];
Ésta es la forma más eficiente para buscar cadenas en matriz de cadenas
esto funciona bien para la pequeña matriz, pero si u tiene muy grande array (más de 30k registros) puede tener alguna idea –
Luego mantenga ordenada la matriz y use una búsqueda binaria (bsearch) para localizar e insertar elementos nuevos. NSArray/NSMutableArray tienen métodos para eso. – 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];
Si bien este fragmento de código puede responder a la pregunta, es mejor incluir una explicación de cómo responde la pregunta para que esta respuesta sea útil para los futuros visitantes del sitio – RobV
Este código funciona bien para encontrar la palabra en una matriz de palabras. –
- 1. Búsqueda de interpolación en cadenas
- 2. Resumiendo cadenas en objetivo-c (iPhone)
- 3. Eliminar cadenas duplicadas en matriz de cadenas
- 4. Concatenación simple de cadenas en el Objetivo C
- 5. Ordenando una matriz de cadenas en C#
- 6. MATLAB matriz de búsqueda para el subconjunto de cadenas
- 7. Cómo crear una matriz de cadenas en el objetivo c para iphone
- 8. Búsqueda de cadenas parciales PHP
- 9. Matriz de cadenas en SharedPreferences
- 10. matriz de cadenas en maravilloso
- 11. Búsqueda de múltiples cadenas en múltiples archivos
- 12. convertir una matriz FileInfo en una matriz de cadenas C#
- 13. Tabla de búsqueda de valor en C por cadenas?
- 14. Ejemplos de búsqueda de cadenas en Python
- 15. Algoritmos de búsqueda de cadenas
- 16. Conjuntos de cadenas en C
- 17. Inicializando una matriz estática de cadenas (C++)?
- 18. Encontrar elementos únicos en una matriz de cadenas en C
- 19. búsqueda de cadenas usando OQL
- 20. Borrar matriz de cadenas
- 21. Cómo convertir ArrayList en matriz de cadenas (cadena []) en C#
- 22. ¿Cómo puedo convertir el número hexadecimal en enteros y cadenas en el Objetivo C?
- 23. Cómo convertir un NSArray de cadenas en una matriz de cadenas únicas, en el mismo orden?
- 24. Cómo implementar una búsqueda de cadenas simple
- 25. LINQ retorno matriz de cadenas
- 26. búsqueda difusa rápida dinámica sobre 100k + cadenas en C#
- 27. División de cadenas en C++
- 28. Marshalling matriz de cadenas a char ** en C#
- 29. C# cómo convertir File.ReadLines en una matriz de cadenas?
- 30. Convertir matriz de cadenas en minúsculas
¿Es su tarea? Creo que es fácil de hacer. ¿Por qué solo bucle y comparación? – vodkhang
na, no es tarea, necesitaba el mejor algoritmo para buscar una cadena específica que no costaba muchos recursos en iphone, por eso puse la pregunta –
posible duplicado de [Objective-C Search NSArray for String?] (Http: // stackoverflow .com/questions/3588344/objective-c-search-nsarray-for-string) – nielsbot