AD

¿Ya dominas lo básico? Un curso estructurado de Objective-C es la vía rápida para dar el salto.

Ver cursos de Objective-C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 39 / 68

Normalizar cadenas

En esta lección dejarás textos en una forma común antes de compararlos.

stringByTrimmingCharactersInSet: quita los caracteres indicados de los extremos y lowercaseString pasa todo a minúsculas.

El código de ejemplo comprueba que dos escrituras distintas del mismo texto se consideran iguales.

Fíjate en que se pasa un conjunto de caracteres en lugar de una lista: whitespaceCharacterSet incluye espacios y tabuladores. Existe también whitespaceAndNewlineCharacterSet, que es el que se quiere al limpiar líneas leídas de un archivo.

Con el español hay un caso que lowercaseString no resuelve: los acentos. «Cancion» y «canción» siguen siendo distintas, y para un buscador probablemente deberían coincidir. En Foundation eso se hace comparando con la opción NSDiacriticInsensitiveSearch, o normalizando con decomposedStringWithCanonicalMapping y quitando las marcas. Y conviene recordar que la eñe no es una ene con tilde, sino una letra propia.

Hay una variante importante: lowercaseStringWithLocale: aplica las reglas del idioma indicado. Sin ella se usan las del sistema, y en turco la i mayúscula no es la I.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Objective-C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)