Menu
CoddyTech

用 string.gsub() 进行替换

本课属于 Coddy Lua 学习旅程的“逻辑与流程”单元。第 35 课,共 54 课。

处理字符串时,你经常需要查找和替换文本。Lua 的 string.gsub() 函数可以轻松完成这项工作,它会执行全局替换:查找模式的所有匹配项,并将它们替换为其他内容。

基本语法接受三个参数:原始字符串、要查找的模式,以及替换文本:

local result = string.gsub(originalString, pattern, replacement)

这是一个简单的示例,会将所有空格替换为下划线:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- 输出:hello_world_from_lua

该函数会返回两个值:修改后的字符串和替换次数。如果需要,你可以同时获取这两个值:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- 输出:baz bar baz
print(count)   -- 输出:2

有些字符串函数只会查找第一个匹配项,而 string.gsub() 默认会替换所有匹配项,因此非常适合清理文本,例如删除不需要的字符或统一格式。

challenge icon

挑战

简单

编写一个函数 cleanText,接收 text,并返回清理后的文本,其中所有空格都替换为下划线。

使用 string.gsub() 将文本中的每个空格字符替换为下划线字符。

参数:

  • text(字符串):要清理的文本

返回值:所有空格都替换为下划线后的文本(字符串)

亲手试试

function cleanText(text)
    -- 在这里编写代码
end
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Lua 在线编译器