Lua 中带有单反斜杠 (!) 的字符串需要转义或替换 - 如何操作?

sna*_*ahl 4 string lua escaping

Adobe Lightroom 中的插件是用 Lua 编写的。为了自学 Lua,我正在通过 SDK 制作自己的插件。现在我遇到了一种情况,我从名为“images”的表中获取一个字符串,如下所示:

images[1] = "d:\Windows\Temp\LREXPORT\NK119542.tif"
Run Code Online (Sandbox Code Playgroud)

当然,Lua 根本不喜欢那些未转义的反斜杠。该表的内容根据用户操作而变化。我正在考虑一种解决方案来获取该字符串并对其进行操作以进行进一步处理。

正确的字符串是:

newimages = "d:/Windows/Temp/LREXPORT/NK119542.tif"
newimages = "d:\\Windows\\Temp\\LREXPORT\\NK119542.tif"
Run Code Online (Sandbox Code Playgroud)

浏览了很多帖子和在线教程,但抱歉,我无法弄清楚这一点。希望有解决办法,谢谢回复。

cjo*_*sen 6

[[您可以使用and分隔字符串]]

Lua 5.2.3  Copyright (C) 1994-2013 Lua.org, PUC-Rio
> s = '\n'
> print(s)


> s = [[\n]]
> print(s)
\n
Run Code Online (Sandbox Code Playgroud)


jpj*_*obs 5

如果您可以使用正斜杠,为什么不直接替换它们:

images[i]=images[i]:gsub("\\","/")
Run Code Online (Sandbox Code Playgroud)

如果您认为将它们加倍会对您有帮助,同样如此:

images[i]=images[i]:gsub("\\","\\\\")
Run Code Online (Sandbox Code Playgroud)