Lua:
Capitalizando una cadena de texto
Cómo hacerlo:
Lua no tiene una función integrada para capitalizar cadenas, pero puedes lograr fácilmente esta tarea utilizando funciones básicas de manipulación de cadenas. Aquí hay una función simple para capitalizar la primera letra de una sola palabra:
function capitalize(word)
return word:sub(1,1):upper() .. word:sub(2):lower()
end
print(capitalize("hello")) -- Salida: Hello
Para capitalizar cada palabra en una oración, puedes dividir la oración en palabras, capitalizar cada una y luego volver a unirlas:
function capitalizeSentence(sentence)
local words = {}
for word in sentence:gmatch("%S+") do
table.insert(words, capitalize(word))
end
return table.concat(words, " ")
end
print(capitalizeSentence("hello world from lua")) -- Salida: Hello World From Lua
Si estás trabajando en un proyecto donde el rendimiento es clave y te encuentras necesitando capacidades de manipulación de cadenas más avanzadas, considera usar una biblioteca de terceros como Penlight
. Penlight mejora Lua con funciones de manejo de cadenas más versátiles, entre otras utilidades:
-- Asumiendo que Penlight está instalado:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text) -- Salida: Hello lua users
-- Nota: La función capitalized de Penlight solo capitaliza la primera palabra.
-- Para capitalizar cada palabra, todavía deberías implementar una solución personalizada o explorar otras bibliotecas.