ltrim on a block of text?

Bjorn Pettersen BPettersen at NAREX.com
Sun May 13 11:07:54 EDT 2001


Thanks a bunch!

-- bjorn

> -----Original Message-----
> From: Andrew Dalke [mailto:dalke at acm.org]
> Sent: Friday, May 11, 2001 7:01 PM
> To: python-list at python.org
> Subject: Re: ltrim on a block of text?
> 
> 
> Bjorn Pettersen wants to turn
> >s = """
> >      void f(int x) {
> >          printf("%d\n", x);
> >      }
> >"""
> 
> into
> 
> >"""
> >void f(int x) {
> >    printf("%d\n", x);
> >}
> >"""
> 
> The original string should likely be \\n because
> otherwise the \n is embedded in the string.
> 
> Here's a function which does what you want
> 
> def ltrimBlock(s):
>   lines = string.split(string.expandtabs(s), "\n")
>   w = len(s)
>   for line in lines:
>     line2 = string.lstrip(line)
>     if line2:
>       w = min(w, len(line)-len(line2))
>   new_lines = []
>   for line in lines:
>     new_lines.append(line[w:])
>   return string.join(new_lines, "\n")
> 
> >>> print ltrimBlock("""
> ...     void f(int x) {
> ...             printf("%\\n", x);
> ...     }
> ...     int i = 4;
> ... """)
> 
> void f(int x) {
>         printf("%\n", x);
> }
> int i = 4;
> 
> >>>
> 
>                     Andrew
>                     dalke at acm.org
> 
> 
> 
> -- 
> http://mail.python.org/mailman/listinfo/python-list
> 




More information about the Python-list mailing list