String + number split
Graham Breed
usenet at microtonal.co.uk
Mon Apr 12 13:41:28 EDT 2004
Stevie_mac wrote:
> Hello again, I can do this, but I'm sure there is a much more elegant way...
>
> A string, with a number on the end, strip off the number & discard any underscores
>
> eg...
>
> font12 becomes ('font',12)
> arial_14 becomes ('arial',14)
Hmm, well, there's always
>>> import re
>>> def fsplit(s):
matcher = re.compile('\d+$|_')
return matcher.sub('', s), int(matcher.findall(s)[-1])
>>> fsplit('font12')
('font', 12)
>>> fsplit('arial14')
('arial', 14)
>>> fsplit('__arial__bold_1_14')
('arialbold1', 14)
I'm scary enough that I probably would do it this way.
Graham
More information about the Python-list
mailing list