此主题已部分由其他用户在线程处理: Lua string.gsub with Multiple Patterns的Lua:string.gsub模式(S),允许多模式替换
我有问题,我相信这是我的模式(第二)的论点。这里是我的gsub
代码我想使用的例子:
local dateCode = "MMM/dd-YYYY:ss"
--dateCode = dateCode:gsub(".*", {["%/"] = "s", ["%-"] = "n", ["%:"] = "c"}) --original code but removed after @Etan's comments.
dateCode = dateCode:gsub(".*", {["/"] = "s", ["-"] = "n", [":"] = "c"})
print(dateCode)
MMM/dd-YYYY:ss --printed
MMMsddnYYYYcss --desired
我认为我不应该看在所有的字符,如我现在有,但我不知道我应该什么花样用于变量dateCode
。 这个想法是用它开始的第一个字符替换这些键。
这里您的期望输出是什么? 'MMMsddnYYYYcss'? 'gsub'替换中的键需要等于模式匹配的字符串的捕获位。您的输入中没有'%',因此您的任何键都不可能匹配。 –
@EtanReisner你是对的。这是所需的输出。我错误地使用'%'作为转义字符在我的键中。谢谢。一旦删除,仍然不会提供所需的结果。 – Pwrcdr87
想想你与你的模式匹配。比赛的“结果”是什么? *这是* gsub在表格参数中查找的内容。所以如果你想替换那些角色,那么你需要单独匹配*这些角色。 –