Splitting a string

Xavier Ho contact at xavierho.com
Fri Apr 2 12:26:26 CEST 2010


Best I can come up with:

>>> def split_number(string):
...     output = [string[0]]
...     for character in string[1:]:
...         if character.isdigit() != output[-1].isdigit():
...             output.append('')
...         output[-1] += character
...     return tuple(output)
...
>>> split_number('si_pos_99_rep_1_0.ita')
('si_pos_', '99', '_rep_', '1', '_', '0', '.ita')

Cheers,
Xav

On Fri, Apr 2, 2010 at 8:12 PM, Thomas Heller <theller at ctypes.org> wrote:

> Maybe I'm just lazy, but what is the fastest way to convert a string
> into a tuple containing character sequences and integer numbers, like this:
>
>
> 'si_pos_99_rep_1_0.ita'  -> ('si_pos_', 99, '_rep_', 1, '_', 0, '.ita')
>
> Thanks for ideas,
> Thomas
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100402/18e2badc/attachment.html>


More information about the Python-list mailing list