Sette stor bokstav i en streng

Lua:
Sette stor bokstav i en streng

Hvordan:

Lua har ikke en innebygd funksjon for å kapitalisere strenger, men du kan enkelt utføre denne oppgaven ved hjelp av grunnleggende strengmanipuleringsfunksjoner. Her er en enkel funksjon for å kapitalisere det første bokstaven i et enkelt ord:

function capitalize(word)
    return word:sub(1,1):upper() .. word:sub(2):lower()
end

print(capitalize("hello"))  -- Output: Hello

For å kapitalisere hvert ord i en setning, kan du dele setningen inn i ord, kapitalisere hvert enkelt, og deretter slå dem sammen igjen:

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"))  -- Output: Hello World From Lua

Hvis du jobber med et prosjekt der ytelse er nøkkelen, og du finner deg selv i behov av mer avanserte strengmanipuleringskapasiteter, vurder å bruke et tredjepartsbibliotek som Penlight. Penlight forbedrer Lua med mer fleksible strengbehandlingsfunksjoner, blant annet:

-- Med forutsetning om at Penlight er installert:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text)  -- Output: Hello lua users

-- Merk: Penlights capitalized-funksjon kapitaliserer kun det første ordet.
-- For å kapitalisere hvert ord, ville du fortsatt implementere en egendefinert løsning eller utforske andre biblioteker.