String.gsub() to extract last word in string

I have a string where the words within are separated by periods, what would be the best way for returning the last word? My guess would be to use string.gsub, but i'm having a hard time figuring out the correct syntax

here's an example:

str = "These.Are.A.Few.Words.But.I_only_want_this"

Desired output would be:


Note that i don't need to treat any magical characters as such, they can stay in the string no problems


  • Try:

    str:gsub('.*%.', '')

    .* - Match zero or more (*) of any character (.), taking the longest sequence possible.
    %. - Match a literal . character.


    Lua 5.4.6  Copyright (C) 1994-2023, PUC-Rio
    > str = "These.Are.A.Few.Words.But.I_only_want_this"
    > str:gsub('.*%.', '')
    I_only_want_this    1