将lua中的 \n 字符串替换为实际的 \n 字符

在lua中,当给定一个包含 \n 或 \t 的字符串时,有没有一种方法可以将\n(实际换行)或\t(制表符)的真正含义传递给将要传递的字符串,以便在打印之前解决该问题! 但我不想打印更新后的字符串!

我使用了 gsub,但不知道如何表示实际换行符。(制表符可以由一些空格来表示)

点赞
用户2858170
用户2858170

参考 Lua 5.3 Lua参考手册6.4字符串操作字符串.gsub:

string.gsub (s, pattern, repl [, n])

返回 s 的一个副本,其中所有模式(如果给出了,则为前 n 个)的出现都被替换为由repl指定的替换字符串,其中 repl 可以是字符串,表或函数。gsub 还作为其第二个值返回发生的全部匹配的总数。 gsub 的名称来自全局替换。

如果 repl 是一个表格,则在每个匹配项中使用第一个捕获作为键查询该表格。

local myString = "hello\\n\\tworld"
print(myString)

hello\n\tworld

print((myString:gsub("\\([nt])", {n="\n", t="\t"})))
hello
    world
2019-07-19 09:53:03