[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: pattern matching problem
- From: Coda Highland <chighland@...>
- Date: Fri, 30 Aug 2013 13:42:24 -0700
On Fri, Aug 30, 2013 at 1:29 PM, Choonster TheMage
> On 31 August 2013 06:14, Geoff Smith <email@example.com> wrote:
>> 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.
I have a hesitation on that solution -- if there isn't a decimal
point, that's still going to truncate trailing zeroes, which is
clearly incorrect behavior.