¿Cómo puedo detectar si una cadena contiene una palabra determinada? Por ejemplo, tengo una cadena debajo que dice:
@"Here is my string."
Me gustaría saber si puedo detectar una palabra en la cadena, como "es", por ejemplo.
objective-c
string
nsstring
Alex
fuente
fuente

rangeOfString.Respuestas:
Así es como lo haría:
Puede agregar esto fácilmente como categoría en
NSString:fuente
containsStringexpuesto en NSString.Use el siguiente código para escanear la palabra en la oración.
fuente
En iOS8 ahora puede usar:
Aquí hay una publicación interesante sobre cómo "adaptarla" a iOS7: http://petersteinberger.com/blog/2014/retrofitting-containsstring-on-ios-7/
fuente
Recomiendo usar NSLinguisticTagger . Podemos usarlo para buscar
Here is my string. His isn't a mississippi isthmus. It is?Esto produce:
Ignora
Hismississippieisthmusincluso se identificaisdentro deisn't.fuente
Espero que esto te ayude ... agrega esta línea en el archivo .m o crea una clase separada e integra este código.
fuente
Con iOS 8 y Swift, podemos usar el método localizadoCaseInsensitiveContainsString
fuente
Una solución completa primero buscaría la cadena (sin espacios en blanco añadidos), luego comprobaría si el carácter inmediatamente anterior está en blanco o al comienzo de la línea. Del mismo modo, compruebe si el siguiente carácter está en blanco o al final de la línea. Si ambas pruebas pasan, entonces tienes una coincidencia. Dependiendo de sus necesidades, también se puede comprobar
,,.,(), etc.Un enfoque alternativo, por supuesto, es analizar la cadena en palabras y verificar cada palabra individualmente.
fuente