Merkkijonon muuttaminen isoiksi kirjaimiksi

Lua:
Merkkijonon muuttaminen isoiksi kirjaimiksi

Kuinka:

Lua ei sisällä valmista funktiota merkkijonojen alkukirjaimen muuttamiseksi isoksi, mutta voit helposti saavuttaa tämän tehtävän käyttämällä perus merkkijonon käsittelyn funktioita. Tässä on yksinkertainen funktio yhden sanan ensimmäisen kirjaimen muuttamiseksi isoksi:

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

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

Jotta voit muuttaa jokaisen lauseen sanan ensimmäisen kirjaimen isoksi, voit jakaa lauseen sanoiksi, muuttaa jokaisen isoksi ja sitten yhdistää ne uudelleen:

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

Jos työskentelet projektissa, jossa suorituskyky on avainasemassa ja tarvitset edistyneempiä merkkijonon käsittelyn ominaisuuksia, harkitse kolmannen osapuolen kirjaston, kuten Penlight, käyttöä. Penlight laajentaa Luaa monipuolisemmilla merkkijonon käsittelyn toiminnoilla, muiden hyödyllisyyksien lisäksi:

-- Olettaen, että Penlight on asennettu:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text)  -- Tuloste: Hello lua users

-- Huomautus: Penlightin capitalized-funktio isontaa vain ensimmäisen sanan.
-- Jokaisen sanan isontamiseen tarvitset silti räätälöidyn ratkaisun tai tutkia muita kirjastoja.