字符串大写化

Lua:
字符串大写化

如何操作:

Lua没有内置的函数用于字符串首字母大写,但你可以使用基本的字符串操作函数轻松完成此任务。这里有一个简单的函数,用于将单个单词的第一个字母大写:

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

print(capitalize("hello"))  -- 输出:Hello

要将句子中的每个单词都首字母大写,你可以将句子拆分成单词,将每个单词首字母大写,然后再拼接它们:

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

如果你正在进行一个项目,其中性能至关重要,并且你发现自己需要更高级的字符串操作能力,考虑使用第三方库如Penlight。Penlight通过更多功能强大的字符串处理函数等实用程序增强了Lua:

-- 假设Penlight已安装:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text)  -- 输出:Hello lua users

-- 注意:Penlight的capitalized函数只会使第一个单词首字母大写。
-- 要使每个单词都首字母大写,你仍需实现自定义解决方案或探索其他库。