On 4/2/2010 6:21 AM, Shashwat Anand wrote:
>>> s = 'si_pos_99_rep_1_0.ita' >>> res = tuple(re.split(r'(\d+)', s)) >>> res ('si_pos_', '99', '_rep_', '1', '_', '0', '.ita')
This solves the core of the problem, but is not quite there ;-). Thomas requested conversion of int literals to ints, which is easy: import re s = 'si_pos_99_rep_1_0.ita' res = re.split(r'(\d+)', s) for i,s in enumerate(res): try: res[i] = int(s) except: pass res = tuple(res) print(res) ('si_pos_', 99, '_rep_', 1, '_', 0, '.ita') Terry Jan Reedy
On Fri, Apr 2, 2010 at 3:42 PM, Thomas Heller <thel...@ctypes.org <mailto:thel...@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')
-- http://mail.python.org/mailman/listinfo/python-list