如何在Lua中将\和""直接添加到字符串中

我正在尝试连接两个字符串并在它们后面添加一些字符。例如:

local currdir
local node
local arg = (currdir..node)

function(arg)
etc....

但是"arg"需要在末尾添加"\",并且需要用双引号括起来。因此字面上像"arg\"这样传递给函数。有谁知道怎么做吗?谢谢

原文链接 https://stackoverflow.com/questions/6665917

点赞
stackoverflow用户298661
stackoverflow用户298661

最简单的方法是使用单引号字符串,因为这样就不必转义双引号。

arg = ' something \\ '
yourfunc(arg)
2011-07-12 14:45:18
stackoverflow用户513763
stackoverflow用户513763

关于

arg = ([["%s\"]]):format(arg:gsub('\\+$',''))

这将删除任何已存在的后向斜杠。如果要将路径名称拼接在一起,您也可以查看 table.concat 并将不同的部分放入表中。

2011-07-12 15:03:58
stackoverflow用户596285
stackoverflow用户596285

我认为arg='"'..curdir..node..'\\"'应该可以很好地工作,例如:

> curdir='c:\\path\\to\\files\\'
> print (curdir)
c:\path\to\files\
> node='xyz'
> print (node)
xyz
> arg='"'..curdir..node..'\\"'
> print (arg)
"c:\path\to\files\xyz\"
2011-07-12 15:49:02