Ранее эта тема частично обсуждалась другим пользователем в ветке: строка Lua. gsub с несколькими шаблонами
У меня проблемы, и я считаю, что это мой шаблон (второй) аргумент. Вот мой пример кода 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
должны быть равны захваченным битам строки, которой соответствует шаблон. У вас нет%
в вашем вводе, поэтому ни один из ваших ключей не может совпадать. - person Etan Reisner   schedule 13.11.2015%
в качестве escape-символов в своих ключах. Спасибо. После удаления по-прежнему не дает желаемого результата. - person Pwrcdr87   schedule 13.11.2015gsub
ищет в аргументе таблицы. Поэтому, если вы хотите заменить только эти символы, вам нужно индивидуально сопоставить только эти символы. - person Etan Reisner   schedule 13.11.2015%p
...... Я обновлю свой пост, чтобы показать правильный шаблон. - person Pwrcdr87   schedule 13.11.2015