Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在LUA中将字符串转换为多行/原始字符串_Lua - Fatal编程技术网

在LUA中将字符串转换为多行/原始字符串

在LUA中将字符串转换为多行/原始字符串,lua,Lua,有没有办法将带引号的字符串转换为多行字符串 类似于“This string\66 here”到[[This string\66 here]],因为我想忽略转义字符的解释。 文字字符串也可以使用由 长括号。我们将n级的开口长括号定义为 开口方括号后接n个等号,再接另一个等号 开口方括号。因此,0级的开口长括号是 写入为[],级别1的开口长括号写入为[=[,, 等等。结束长括号的定义类似;例如, 第4级的结束长括号写为]=]。一个长文字 从任何级别的开口长支架开始,在第一个位置结束 关闭同一级别的长

有没有办法将带引号的字符串转换为多行字符串

类似于“This string\66 here”到[[This string\66 here]],因为我想忽略转义字符的解释。

文字字符串也可以使用由 长括号。我们将n级的开口长括号定义为 开口方括号后接n个等号,再接另一个等号 开口方括号。因此,0级的开口长括号是 写入为[],级别1的开口长括号写入为[=[,, 等等。结束长括号的定义类似;例如, 第4级的结束长括号写为]=]。一个长文字 从任何级别的开口长支架开始,在第一个位置结束 关闭同一级别的长括号。它可以包含除 同一级别的结束括号。括号形式的文字 可以运行几行,不解释任何转义序列,以及 忽略任何其他级别的长括号。任何类型的行尾 顺序(回车、换行、回车后加空格) 换行符(或换行符后跟回车符)转换为 简单换行

为方便起见,当打开长支架时,应立即按下 通过换行符,换行符不包括在字符串中

这就是关于长字符串的所有知识

将使用引号“some string”定义的字符串转换为类似[[some string]]的字符串没有多大意义,因为引号和方括号实际上不是该字符串的一部分,而字符串本身是相同的。 唯一的区别是在方括号中忽略的前导换行符或未解释的转义序列

如果您有嵌套字符串,引号和方括号只是字符串的一部分。在这种情况下,转换也没有多大意义,因为您不能像用括号嵌套字符串那样用引号嵌套字符串

也许你的整个方法有点不对劲?

文字字符串也可以使用由 长括号。我们将n级的开口长括号定义为 开口方括号后接n个等号,再接另一个等号 开口方括号。因此,0级开口长括号为 写入为[],级别1的开口长括号写入为[=[,, 等等。结束长括号的定义类似;例如, 第4级的结束长括号写为]=]。一个长文字 从任何级别的开口长支架开始,在第一个位置结束 关闭同一级别的长括号。它可以包含除 同一级别的结束括号。括号形式的文字 可以运行几行,不解释任何转义序列,以及 忽略任何其他级别的长括号。任何类型的行尾 顺序(回车、换行、回车后加空格) 换行符(或换行符后跟回车符)转换为 简单换行

为方便起见,当打开长支架时,应立即按下 通过换行符,换行符不包括在字符串中

这就是关于长字符串的所有知识

将使用引号“some string”定义的字符串转换为类似[[some string]]的字符串没有多大意义,因为引号和方括号实际上不是该字符串的一部分,而字符串本身是相同的。 唯一的区别是在方括号中忽略的前导换行符或未解释的转义序列

如果您有嵌套字符串,引号和方括号只是字符串的一部分。在这种情况下,转换也没有多大意义,因为您不能像用括号嵌套字符串那样用引号嵌套字符串


也许你的整个方法有点不对劲?

你在找这样的东西吗

local db = "google"
local tbl = "accounts"
local where = "field = 'VALUE' AND TRUE"
local order = "id DESC"

local query = string.format([[
    SELECT *
    FROM `%s`.`%s`
    WHERE %s
    ORDER BY %s
]], db, tbl, where, order)

你在找这样的东西吗

local db = "google"
local tbl = "accounts"
local where = "field = 'VALUE' AND TRUE"
local order = "id DESC"

local query = string.format([[
    SELECT *
    FROM `%s`.`%s`
    WHERE %s
    ORDER BY %s
]], db, tbl, where, order)

它们都是字符串。不需要在它们之间进行转换。唯一的区别是用于在Lua文件中写入它们的语法。@Kroltan我希望能够在转换后处理换行符和转义引号。您需要“处理”什么?您需要提取特定的行还是什么?不需要担心字符串的内容,除非您真的想处理它。然后,这实际上取决于您想用它做什么。(如果您不理解,请询问如何做)它们都是字符串。不需要在它们之间进行转换。唯一的区别是用于在Lua文件中写入它们的语法。@Kroltan我希望能够在转换后处理换行符和转义引号。您需要“处理”什么?您需要提取特定的行还是什么?不需要担心字符串的内容,除非您真的想处理它。然后,这实际上取决于您想用它做什么。(如果您不理解,请询问如何做)