smart splitting - how to

Robert Kern robert.kern at gmail.com
Fri Dec 13 12:39:57 CET 2013


On 2013-12-13 11:28, Helmut Jarausch wrote:
> Hi,
>
> I'd like to read several strings by using 'input'.
> These strings are separated by white space but I'd like to allow for
> some quoting, e.g.
>
> "Guido van" Rossum
>
> should be split into 2 strings only
>
> Now, a simple split doesn't work since it splits the quoted text as well.
> Is there a simple way to do so?
> It would be nice if it could handle embedded quotes which are escaped
> by a backslash, too.
>
> Is there something simpler then a sophisticated regular expression
> or even a parser?

http://docs.python.org/3.3/library/shlex


[~]
|1> import shlex

[~]
|2> shlex.split(r'"Guido \"van\" Rossum" invented Python')
['Guido "van" Rossum', 'invented', 'Python']



-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list