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: tEsta 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) // aceObserve 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 +=.
Desafio
FácilEscreva 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
}
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
4Operadores - Parte 1
Operadores aritméticosOperador móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift