Menu
Coddy logo textTech

Iterar sobre cadenas P1

Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 71 de 86.

Al igual que los arreglos, las cadenas en Swift son secuencias de caracteres sobre las que puedes iterar. Esto facilita el procesamiento de texto carácter por carácter utilizando el conocido bucle for-in.

Cuando recorres una cadena, Swift te da cada carácter en orden:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Cada char en el bucle es de tipo Character, no String. Esta distinción es importante cuando necesitas comparar o manipular caracteres individuales.

Puedes usar esta técnica para analizar texto, como contar caracteres específicos:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Ten en cuenta que al comparar un carácter, usamos un solo carácter entre comillas como "a". Swift trata esto automáticamente como un Character al compararlo con otro carácter.

challenge icon

Desafío

Fácil

Escribe una función countVowels que reciba text y devuelva el recuento total de vocales en la cadena.

Itera a través de cada carácter en la cadena y cuenta cuántos son vocales (a, e, i, o, u). Cuenta tanto las vocales minúsculas como las mayúsculas.

Parámetros:

  • text (String): La cadena a analizar

Devuelve: El número total de vocales encontradas en la cadena (Int)

Ejemplo: Si text es "Hello World", la función debería devolver 3 (las vocales son e, o, o).

Hoja de referencia

Puedes iterar sobre una cadena usando un bucle for-in para procesar cada carácter:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Cada char en el bucle es de tipo Character, no String.

Puedes comparar caracteres directamente en condiciones:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Pruébalo tú mismo

func countVowels(text: String) -> Int {
    // Escribe el código aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos