在Lua中获得了带有单个反斜杠(!)的字符串,需要进行转义或替换 - 如何?

时间:2012-02-18 04:17:36

标签: string lua escaping

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

images[1] = "d:\Windows\Temp\LREXPORT\NK119542.tif"

但当然Lua根本不喜欢那些没有反转的反斜杠。此表的内容取决于用户操作。我正在考虑获取该字符串并对其进行操作以进行进一步处理的解决方案。

正确的字符串是:

newimages = "d:/Windows/Temp/LREXPORT/NK119542.tif"
newimages = "d:\\Windows\\Temp\\LREXPORT\\NK119542.tif"

经历过很多帖子和在线教程但对不起,我无法想出这个。 希望有一个解决方案,谢谢你的回复。

3 个答案:

答案 0 :(得分:2)

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

images[i]=images[i]:gsub("\\","/")

如果你认为加倍他们会对你有所帮助:

images[i]=images[i]:gsub("\\","\\\\")

答案 1 :(得分:1)

我遇到了同样的问题,对我来说这很有用:

user = string.gsub(user, "\\\\", "/")

所以images[i]=images[i]:gsub("\\\\","/")应该也可以。

答案 2 :(得分:0)

您可以使用[[]]

来分隔字符串
Lua 5.2.3  Copyright (C) 1994-2013 Lua.org, PUC-Rio
> s = '\n'
> print(s)


> s = [[\n]]
> print(s)
\n