Одним из обходных решений может быть замена всех символов «-» символом, который не используется в содержимом, который у вас есть, а затем получить последнюю часть с простым отрицательным символьным классом с привязкой концевой строки $
:
local example = "hello - mynameis - jeff"
example = string.gsub(example, " %- ", "\x02")
local result = string.match(example, "[^\x02]+$")
print(result)
См Lua IDEONE demo
с " %- "
, все space
+ -
+ space
подстроки заменить временный характер, а затем только подстрока после последнего временного символа совпадает с шаблоном [^\x02]+$
.
Я использовал контрольный символ STX
(\x02
), но вы можете выбрать другой, который, как вы уверены, будет отсутствовать в содержимом для разбора.
«* Разделитель будет' -' и a. * «Разве разделитель не был бы« - »? То есть, тире, окруженной пробелами? –
Оформить заказ на мою библиотеку https://github.com/moteus/lua-split. 'result = split (строка, '-', true)' или 'result = split (строка, '% s *% -% s *')'. – moteus