是否有一种方法可以将字符串中的空格更改为下划线?

function exists(f)
    filetry=""
    local fileBuffer={}

    for w in x:gmatch("%S+") do
        table.insert(fileBuffer,w)
    end

    for i, v in ipairs(fileBuffer) do
        filetry=filetry.."_"..v
    end

    f=filetry

    if os.execute("test -e "..f) == true then
        return true
    else
        return false
    end
end

我需要将空格替换为下划线,这样我就可以在终端中找到文件了。尝试使用API,但由于我的计算机在安装后会将其删除,所以它对我没有用。因此,我只需要一个可以将空格替换为下划线的函数,并使用终端测试命令来查找文件。

点赞
用户4984564
用户4984564
str = str:gsub("%s+", "_")
-- 其中 `str` 是你想要从中移除空格的字符串。
-- 将多个连续的空格字符替换为单个下划线。
-- 删除 `+`,使其将每个空格字符替换为自己的下划线。

例子:

print( (“Hello world”):gsub(“%s+”, “_”) )
-- 将输出 “Hello_world”

编辑:注意,string.gsub() 创建一个新的字符串来替换旧的字符串,这就是为什么在我的第一个例子中需要重新指定 str = str:gsub... 的原因。

2017-03-08 19:53:41