lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 31 August 2013 06:14, Geoff Smith <spammealot1@live.co.uk> wrote:
> Hi
>
> I always seem to have difficulty with pattern matching in Lua, here is
> another example that has stumped me so far
>
> I am trying to trim a number string to remove non significant trailing
> zeros. So for example
>
> "123.450000000" = "123.45"
> "1234500" = "1234500"
> "12345.00" = "12345.0"
>
> I could of course write a function that iterates through the string from the
> back dropping zeros, but I thought there is probably a more elegant solution
> using Lua pattern matching functions.
>
> Can this be done neatly with pattern matching ? Thanks for any suggested
> code snippets
>
> Regards Geoff
>
>
>

Try this pattern:

    local stripped = fullNumber:match("^(%d*%.?0?%d-)0*$")

Where fullNumber is the string containing the number that you want to
remove trailing zeroes from.