string.find()
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 48 de 90.
La función string.find() es una herramienta poderosa para buscar dentro de cadenas. Le permite buscar una cadena más pequeña (llamada patrón) dentro de una cadena más grande y le indica exactamente dónde se encontró.
Aquí está la sintaxis básica:
string.find(text, pattern)Cuando string.find() localiza con éxito el patrón, devuelve dos números: la posición inicial y la posición final de la coincidencia. Si no se encuentra el patrón, devuelve nil.
Aquí tienes un ejemplo sencillo:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- salida: 5 12En este ejemplo, la palabra "treasure" comienza en la posición 5 y termina en la posición 12 de la oración.
Desafío
FácilCrea un detector de mensajes secretos que busque una palabra de código oculta dentro de un mensaje de texto más grande. Declara una variable llamada message y asígnale el valor "The ancient treasure lies beneath the old oak tree". Usa la función string.find() para buscar la palabra "treasure" dentro del mensaje y guarda las posiciones inicial y final en variables llamadas startPos y endPos. Imprime ambos valores de posición en líneas separadas.
Hoja de referencia
La función string.find() busca un patrón dentro de una cadena y devuelve las posiciones inicial y final de la coincidencia, o nil si no se encuentra.
Sintaxis básica:
string.find(text, pattern)Ejemplo:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- outputs: 5 12Pruébalo tú mismo
-- Declarar la variable message
local message = "The ancient treasure lies beneath the old oak tree"
-- TODO: Escribe tu código aquí para encontrar la palabra "treasure" y guardar las posiciones
-- Imprimir las posiciones
print(startPos)
print(endPos)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área