On Sunday, May 20, 2018 at 5:01:08 PM UTC-4, Michael F. Stemper wrote:
> On 2018-05-20 14:54, bruceg113...@gmail.com wrote:
> > Lets say I have the following tuple like string.
> >    (128, 020, 008, 255)
> > 
> > What is the best way to to remove leading zeroes and end up with the 
> > following.
> >    (128, 20, 8, 255)        -- I do not care about spaces
> 
> 
> I'd use a few regular expressions:
> 
>  >>> from re import sub
>  >>> tuple = '(0128, 020, 008,012, 255)'
>  >>> sub( " 0*", " ", tuple ) # leading zeroes following space(s)
> '(0128, 20, 8,012, 255)'
>  >>> sub( ",0*", ",", tuple ) # leading zeroes following comma
> '(0128, 020, 008,12, 255)'
>  >>> sub( "\(0*", "(", tuple ) # leading zeroes after opening parend
> '(128, 020, 008,012, 255)'
> 
> Each step could be written as "tuple = sub( ..."
> 
>  >>> tuple = sub( " 0*", " ", tuple ) # following space(s)
>  >>> tuple = sub( ",0*", ",", tuple ) # following comma
>  >>> tuple = sub( "\(0*", "(", tuple ) # after opening parend
>  >>> tuple
> '(128, 20, 8,12, 255)'
>  >>>
> 
> 
> Or, if you like to make your code hard to read and maintain, you could
> combine them all into a single expression:
> 
>  >>> sub( " 0*", " ", sub( ",0*", ",", sub( "\(0*", "(", tuple ) ) )
> '(128, 20, 8,12, 255)'
>  >>>
> 
> -- 
> Michael F. Stemper
> What happens if you play John Cage's "4'33" at a slower tempo?



I did not think about using regular expressions.
After your response, I looked into regular expressions and also found  
Regex.Replace
After thinking about my question, I said why not use a replace statement.
This works for me: mytuplestring.replace("0","")

Thanks for a good starting point:)
Bruce
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to