Iteración 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
// oCada 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) // 3Ten 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.
Desafío
FácilEscribe 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).
Pruébalo tú mismo
func countVowels(text: String) -> Int {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación compuestaRepaso: matemáticas simplesOperadores de comparación7Entrada/salida básica
Función printInterpolación de cadenasEntrada con ReadLineConversión de tiposRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosRepaso: función SigmaRepaso: función de validaciónValores predeterminados13Iteración sobre secuencias
Iteración sobre elementosEl método enumeradoIteración sobre cadenas P1Iteración sobre cadenas P22Variables
Let vs VarAnotaciones de tipoNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesenvolver con If LetGuard LetOperador de coalescencia nilRepaso: desenvoltura segura6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Swift