Эта тема частично обрабатывается перед тем другим пользователем в теме: Lua string.gsub with Multiple PatternsLua: string.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' должны совпадать с захваченными битами строки, которые соответствуют шаблону. У вас нет '%' в вашем входе, поэтому ни один из ваших ключей не может совпадать. –
@ EtanReisner вы правы. Это желаемый результат. Я ошибочно использовал '%' как escape-символы в моих ключах. Благодарю. После удаления все равно не появляется желаемый результат. – Pwrcdr87
Подумайте, что вы соответствуете вашему шаблону. Каким будет «результат» матча? * Это * то, что 'gsub' ищет в аргументе таблицы. Поэтому, если вы хотите заменить только эти символы, вам нужно индивидуально сопоставить * просто * эти символы. –