在lua中,如果给定包含\ n或\ t的字符串,是否有办法使我们能够将\ n(真正的新行)或\ t(tab)的真实含义获取为将通过的字符串上。必须在打印之前完成此操作,因为这样才能解决问题!但是我不想打印更新的字符串!
我使用了gsub,但不知道如何表示实际的新行。 (选项卡可以用一定数量的空格表示)
答案 0 :(得分:1)
请参阅Lua 5.3 Lua Reference Manual 6.4 String Manipulation string.gsub:
string.gsub (s, pattern, repl [, n])
返回其中所有(或第一个
s
,如果有)的n
的副本 模式的出现(请参见第6.4.1节)已被替换为 由repl
指定的替换字符串,可以是字符串,表, 或功能。gsub
还会将总计作为第二个值返回 发生的匹配数。名称gsub
来自全球 替换。如果
repl
是一个表,则使用以下命令查询每个匹配项的表 第一次捕获为关键。
local myString = "hello\\n\\tworld"
print(myString)
hello\n\tworld
print((myString:gsub("\\([nt])", {n="\n", t="\t"})))
hello world!!!