Newbie: Check first two non-whitespace characters
Cameron Simpson
cs at zip.com.au
Fri Jan 1 01:30:43 EST 2016
On 31Dec2015 18:38, MRAB <python at mrabarnett.plus.com> wrote:
>On 2015-12-31 18:18, otaksoftspamtrap at gmail.com wrote:
>>I need to check a string over which I have no control for the first 2 non-white space characters (which should be '[{').
>>
>>The string would ideally be: '[{...' but could also be something like
>>' [ { ....'.
>>
>>Best to use re and how? Something else?
>>
>I would use .split and then ''.join:
>
>>>> ''.join(' [ { ....'.split())
>'[{....'
This presumes it is ok to drop/mangle/lose the whitespace elsewhere in the
string. If it contains quoted text I'd expect that to be very bad.
>It might be faster if you provide a maximum for the number of splits:
>>>> ''.join(' [ { ....'.split(None, 1))
>'[{ ....'
Not to mention safer.
I would use lstrip and startswith:
s = lstrip(s)
if s.startswith('['):
s = s[1:].lstrip()
if s.startswith('{'):
... deal with s[1:] here ...
It is wordier, but far more basic and direct.
Cheers,
Cameron Simpson <cs at zip.com.au>
More information about the Python-list
mailing list