smart splitting - how to
robert.kern at gmail.com
Fri Dec 13 12:39:57 CET 2013
On 2013-12-13 11:28, Helmut Jarausch wrote:
> 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?
|1> import shlex
|2> shlex.split(r'"Guido \"van\" Rossum" invented Python')
['Guido "van" Rossum', 'invented', 'Python']
"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