Menu
Coddy logo textTech

Iterando sobre Strings P2

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 72 de 86.

Assim como usamos enumerated() com arrays para obter tanto o índice quanto o elemento, podemos fazer o mesmo com strings. Isso é útil quando você precisa saber a posição de cada caractere durante a iteração.

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

Esta técnica é útil ao construir novas strings com base em posições de caracteres. Por exemplo, você pode querer manter apenas os caracteres em índices pares:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

Observe que convertemos char em uma String usando String(char) antes de anexá-la. Isso é necessário porque result é uma String, e você não pode anexar diretamente um Character a ela usando o operador +=.

challenge icon

Desafio

Fácil

Escreva uma função extractOddIndexChars que recebe text e retorna uma nova string contendo apenas os caracteres nos índices ímpares.

Use enumerated() para iterar pela string e construir um resultado contendo caracteres onde o índice é ímpar (1, 3, 5, etc.).

Parâmetros:

  • text (String): A string de entrada para processar

Retorna: Uma string contendo apenas os caracteres nos índices ímpares (String)

Exemplo: Se text for "abcdefg", a função deve retornar "bdf" (caracteres nos índices 1, 3 e 5).

Experimente você mesmo

func extractOddIndexChars(text: String) -> String {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Swift