[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- 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
<choonster.2010@gmail.com> wrote:
> 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.
>
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.
/s/ Adam