Iterar sobre cadenas P2
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 77 de 93.
Más allá de la iteración básica, las cadenas ofrecen varios métodos útiles para crear cadenas nuevas a partir de otras existentes. Una tarea común es transformar caracteres mientras iteras y recopilas los resultados.
Puedes crear una cadena nueva añadiendo caracteres a un StringBuilder o simplemente concatenándolos a una variable de cadena:
val original = "hello"
var result = ""
for (char in original) {
result += char.uppercaseChar()
}
println(result) // HELLOEl método uppercaseChar() convierte un carácter individual a mayúsculas, mientras que lowercaseChar() hace lo contrario. Estos métodos funcionan con valores individuales de Char, a diferencia de uppercase(), que funciona con cadenas completas.
Otra técnica práctica consiste en filtrar caracteres mientras iteras. Por ejemplo, extraer solo los dígitos de una cadena mixta:
val mixed = "a1b2c3"
var digits = ""
for (char in mixed) {
if (char.isDigit()) {
digits += char
}
}
println(digits) // 123Kotlin proporciona métodos útiles para comprobar caracteres, como isDigit(), isLetter() y isWhitespace(), que devuelven true o false según el tipo de carácter. Estos métodos facilitan filtrar o clasificar caracteres durante la iteración.
Desafío
IntermedioEscribe una función extractLetters que reciba una cadena de texto text y devuelva una nueva cadena que contenga únicamente las letras, convertidas a mayúsculas.
Itera sobre cada carácter, filtra los que no sean letras y convierte los caracteres restantes a mayúsculas.
Parámetros:
text(String): Una cadena que puede contener letras, dígitos, espacios y caracteres especiales
Devuelve: Una cadena que contiene únicamente las letras de la entrada, todas convertidas a mayúsculas (String)
Pruébalo tú mismo
fun extractLetters(text: String): String {
// 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 aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación13Iterar sobre secuencias
Iterar sobre elementosMétodo WithIndexIterar sobre cadenas P1Iterar sobre cadenas P2Repaso: letras indexadas2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Kotlin