用 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() 默认会替换所有匹配项,因此非常适合清理文本,例如删除不需要的字符或统一格式。
挑战
简单编写一个函数 cleanText,接收 text,并返回清理后的文本,其中所有空格都替换为下划线。
使用 string.gsub() 将文本中的每个空格字符替换为下划线字符。
参数:
text(字符串):要清理的文本
返回值:所有空格都替换为下划线后的文本(字符串)
亲手试试
function cleanText(text)
-- 在这里编写代码
end
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Lua 在线编译器