Iterando sobre strings P2
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 77 de 93.
Além da iteração básica, as strings oferecem vários métodos úteis para criar novas strings a partir de strings existentes. Uma tarefa comum é transformar caracteres durante a iteração e reunir os resultados.
Você pode criar uma nova string anexando caracteres a um StringBuilder ou simplesmente concatenando-os a uma variável de string:
val original = "hello"
var result = ""
for (char in original) {
result += char.uppercaseChar()
}
println(result) // HELLOO método uppercaseChar() converte um único caractere para maiúsculo, enquanto lowercaseChar() faz o oposto. Eles funcionam com valores individuais de Char, ao contrário de uppercase(), que funciona com strings inteiras.
Outra técnica prática é filtrar caracteres durante a iteração. Por exemplo, extraindo apenas os dígitos de uma string mista:
val mixed = "a1b2c3"
var digits = ""
for (char in mixed) {
if (char.isDigit()) {
digits += char
}
}
println(digits) // 123O Kotlin fornece métodos úteis para verificar caracteres, como isDigit(), isLetter() e isWhitespace(), que retornam true ou false com base no tipo de caractere. Eles facilitam a filtragem ou categorização de caracteres durante a iteração.
Desafio
MédioEscreva uma função extractLetters que recebe uma string text e retorna uma nova string contendo apenas as letras, convertidas para maiúsculas.
Itere por cada caractere, filtre os que não são letras e converta os caracteres restantes para maiúsculas.
Parâmetros:
text(String): Uma string que pode conter letras, dígitos, espaços e caracteres especiais
Retorna: Uma string contendo apenas as letras da entrada, todas convertidas para maiúsculas (String)
Experimente você mesmo
fun extractLetters(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 aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação13Iterando sobre sequências
Iterando sobre elementosMétodo WithIndexIterando sobre strings P1Iterando sobre strings P2Revisão - Letras indexadas2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin