Victor Polukcht wrote: > I have a couple of strings like: > > Unassigned Number (1) 32 > No Route To Destination (3) 12 > Normal call clearing (16) 2654 > User busy (17) 630 > No user respond (18) 5 > User alerting no answer (19) 16 > Call rejected (21) 3 > Destination out of order (27) 1 > Invalid number format (28) 32 > Normal unspecified (31) 32 > No channel available (34) 2 > Temporary failure (41) 11 > Switching equipment congestion (42) 4 > Resource unavailable unspecified (47) 2 > Bearer capability not authorized (57) 73 > Incomp. dest. / Non-existent CUG (88) 1 > Recovery on timer expiry (102) 2 > Interworking, unspecified (127) 5 > > I need to get: > Error code (value in brackets) - Value - Message. > > My actual problem is i can't get how to include space, comma, slash.
The following solution is 100% regex-free :-) >>> print lines Unassigned Number (1) 32 No Route To Destination (3) 12 Normal call clearing (16) 2654 User busy (17) 630 No user respond (18) 5 User alerting no answer (19) 16 Call rejected (21) 3 Destination out of order (27) 1 Invalid number format (28) 32 Normal unspecified (31) 32 No channel available (34) 2 Temporary failure (41) 11 Switching equipment congestion (42) 4 Resource unavailable unspecified (47) 2 Bearer capability not authorized (57) 73 Incomp. dest. / Non-existent CUG (88) 1 Recovery on timer expiry (102) 2 Interworking, unspecified (127) 5 >>> [int(line.rsplit("(", 1)[1].split(")", 1)[0]) for line in lines.splitlines()] [1, 3, 16, 17, 18, 19, 21, 27, 28, 31, 34, 41, 42, 47, 57, 88, 102, 127] Peter -- http://mail.python.org/mailman/listinfo/python-list