Buscador de patrones
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 92 de 93.
Desafío
IntermedioEscribe una función findPattern que reciba text y pattern y devuelva el índice inicial de la primera aparición del patrón dentro del texto.
Busca en el texto para encontrar dónde aparece el patrón por primera vez. Si se encuentra, devuelve su índice inicial basado en 0. Si el patrón no existe en el texto, devuelve -1.
Lógica:
- Itera por las posibles posiciones iniciales en el texto
- En cada posición, comprueba si la subcadena coincide con el patrón
- Devuelve el índice en cuanto se encuentra una coincidencia
- Si no se encuentra ninguna coincidencia después de comprobar todas las posiciones, devuelve
-1
Parámetros:
text(String): El texto en el que se buscarápattern(String): El patrón que se buscará
Devuelve: El índice basado en 0 donde aparece el patrón por primera vez, o -1 si no se encuentra (Int)
Restricciones de entrada: Un patrón vacío coincide en el índice 0. Un patrón más largo que el texto no tiene ninguna coincidencia.
Pruébalo tú mismo
fun findPattern(text: String, pattern: String): Int {
// Escribe el código aquí
}
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ón2Variables
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