On Mar 30, 2007, at 4:41 PM, Paul McGuire wrote: > On Mar 30, 2:09 pm, Michael Bentley <[EMAIL PROTECTED]> wrote: >> On Mar 30, 2007, at 10:38 AM, kevinliu23 wrote: >> >> >> >> >> >>> I want to be able to insert a '-' character in front of all numeric >>> values in a string. I want to insert the '-' character to use in >>> conjunction with the getopt.getopt() function. >> >>> Rigt now, I'm implementing a menu system where users will be able to >>> select a set of options like "2a 3ab" which corresponds to menu >>> choices. However, with getopt.getopt(), it'll only return what I >>> want >>> if I input -2a -3ab as my string. I don't want the user have to >>> insert >>> a '-' character in front of all their choices, so I was thinking of >>> accepting the string input first, then adding in the '-' character >>> myself. >> >>> So my qusetion is, how do I change: >> >>> "2a 3ab" into "-2a -3ab". >> >> Will the first character always be a digit? >> >> for i in yourstring.split(): >> if i[0].isdigit(): >> yourstring = yourstring.replace(i, '-%s' % (i,)) >> >> Or are these hex numbers?- Hide quoted text - >> >> - Show quoted text - > > Your replace strategy is risky. If: > > yourstring = "1ab 2bc 3de 11ab" > > it will convert to > > -1ab -2bc -3de 1-1ab
True enough! Good catch! How's this? for i in yourstring.split(): if i[0].isdigit(): yourstring = yourstring.replace(i, '-%s' % (i,), 1) -- http://mail.python.org/mailman/listinfo/python-list