Thanks guys. That upper() function reminded me to use the isupper()
function. I got this going in a single pass:
def a(name):
self_name = name
# Increment this value every time we add a space
offset = 0
for i in xrange(len(name)):
if i != 0 and name[i].isupper():
self_name = self_name[:i + offset] + ' ' + self_name[i +
offset:]
offset += 1
return self_name
name = "GeneralPacketMeToo"
print a(name)
>>>
General Packet Me Too
>>>
On Thu, May 8, 2008 at 7:04 PM, Eric Wertman <[EMAIL PROTECTED]> wrote:
> Something like this. I'm sure there are other ways to do it.
>
> import re
>
> def addspace(m) :
> return ' ' + m.group(0)
>
> strng = "ModeCommand"
>
> newstr = re.sub('[A-Z]',addspace,strng)
>
> print newstr.strip()
>
>
>
> On Thu, May 8, 2008 at 9:12 PM, John Schroeder <[EMAIL PROTECTED]> wrote:
> > I have a string (which I got from the names of my classes) and I would
> like
> > to print out my CamelCase classes as titles.
> >
> > I would like it to do this:
> >
> >>>> my_class_name = "ModeCommand"
> > ## Do some magic here
> >>>> my_class_name
> > 'Mode Command'
> >
> > Anyone know any easy way to do this? Thanks.
> >
> > --
> > http://mail.python.org/mailman/listinfo/python-list
> >
>
--
http://mail.python.org/mailman/listinfo/python-list