Zamiana liter na wielkie w łańcuchu znaków

Lua:
Zamiana liter na wielkie w łańcuchu znaków

Jak to zrobić:

Lua nie posiada wbudowanej funkcji do zmiany wielkości liter w ciągu, ale możesz łatwo osiągnąć ten cel, używając podstawowych funkcji manipulacji ciągami. Oto prosta funkcja do zamiany pierwszej litery pojedynczego słowa na wielką:

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

print(capitalize("hello"))  -- Wyjście: Hello

Aby zamienić pierwszą literę każdego słowa w zdaniu na wielką, możesz podzielić zdanie na słowa, zamienić każde z nich, a następnie połączyć je ponownie:

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"))  -- Wyjście: Hello World From Lua

Jeśli pracujesz nad projektem, w którym kluczowa jest wydajność i znajdziesz się w potrzebie zaawansowanych możliwości manipulacji ciągami, rozważ użycie biblioteki innej firmy, jak Penlight. Penlight wzbogaca Lua o bardziej wszechstronne funkcje obsługi ciągów, wśród innych narzędzi:

-- Zakładając, że Penlight jest zainstalowany:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text)  -- Wyjście: Hello lua users

-- Uwaga: Funkcja capitalized z Penlight zmienia na wielką literę tylko pierwsze słowo.
-- Do zmiany wielkości liter każdego słowa, nadal byłoby potrzebne zaimplementowanie własnego rozwiązania lub eksploracja innych bibliotek.