PKKR a écrit : > On Mar 21, 2:51 pm, "Steven D. Arnold" <[EMAIL PROTECTED]> wrote: > >>On Mar 21, 2007, at 2:42 PM, PKKR wrote: >> >> >>>I need a fast and efficient way to parse a combination string(digits + >>>chars) >> >>>ex: s = "12ABA" or "1ACD" or "123CSD" etc >> >>>I want to parse the the above string such that i can grab only the >>>first digits and ignore the rest of the chacters, >> >>A regex leaps to mind.....have you investigated the "re" module? >> >> >>> import re >> >>> re.match(r'(\d+)', '123abc').group(1) >>'123' >> >>steven > > > > yep thats what i tried as per tommy's advice and came up with: > > re.split('[^0-9]', str)[0]
avoid using 'str' as an identifier (unless it's ok for you to shadow the builtin string type) > or is there a better way? > exp = re.compile(r'^([0-9]+)') for s in ["12ABA", "1ACD", "123CSD"]: print exp.match(line).group(0) => 12 => 1 => 123 -- http://mail.python.org/mailman/listinfo/python-list