【发布时间】:2011-07-12 23:49:02
【问题描述】:
我正在尝试连接 2 个字符串并向它们附加一些字符。例如
local currdir
local node
local arg = (currdir..node)
function(arg)
etc....
但“arg”需要在其末尾有一个“\”,并用双引号括起来。所以从字面上传递给像“arg\”这样的函数。有谁知道如何做到这一点?干杯
【问题讨论】:
我正在尝试连接 2 个字符串并向它们附加一些字符。例如
local currdir
local node
local arg = (currdir..node)
function(arg)
etc....
但“arg”需要在其末尾有一个“\”,并用双引号括起来。所以从字面上传递给像“arg\”这样的函数。有谁知道如何做到这一点?干杯
【问题讨论】:
怎么样
arg = ([["%s\"]]):format(arg:gsub('\\+$',''))
这也会删除任何已经存在的尾随反斜杠。对于拼凑路径名,您还可以查看 table.concat,并将不同的部分放在一个表中。
【讨论】:
我认为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\"
【讨论】:
最简单的方法是使用单引号字符串,这样您就不必转义双引号。
arg = ' something \\ '
yourfunc(arg)
【讨论】: