[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: Pythonic way to trim and keep leading and trailing whitespace

Tim Chase

3/23/2010 11:38:00 PM

python@bdurham.com wrote:
> I'm looking for a pythonic way to trim and keep leading
> whitespace in a string.
>
> Use case: I have a bunch of text strings with various amounts of
> leading and trailing whitespace (spaces and tabs). I want to grab
> the leading and trailing whitespace, save it, surround the
> remaining text with html tags, and then add back the leading and
> trailing whitespace.
>
> The only solution I can think of is regex, and that makes me
> think of the 2 proverbial problems that come with that :)

Just in case you're okay with a regexp solution, you can use

>>> s = "\t\tabc def "
>>> import re
>>> r = re.compile(r'^(\s*)(.*?)(\s*)$')
>>> m = re.match(s)
>>> m.groups()
('\t\t', 'abc def', ' ')
>>> leading, text, trailing = m.groups()

While Emile's solution works nicely for your particular use-case,
in the event you need to discern between leading/trailing
whitespace, the above makes it pretty easy.

-tkc



1 Answer

Martin P. Hellwig

3/23/2010 11:57:00 PM

0

On 03/23/10 23:38, Tim Chase wrote:
<cut>
> Just in case you're okay with a regexp solution, you can use
>
> >>> s = "\t\tabc def "
> >>> import re
> >>> r = re.compile(r'^(\s*)(.*?)(\s*)$')
> >>> m = re.match(s)
> >>> m.groups()
> ('\t\t', 'abc def', ' ')
> >>> leading, text, trailing = m.groups()
<cut>
Ahhh regex, the hammer, Swiss Army Knife, cable tie, duct tape,
superglue and soldering iron, all wrapped in one*. Mastery of it will
enable you to drive the nails in your coffin at an incomparable speed. :-)

*Yes I was a sysadmin, why do you ask?
--
mph