> I have this string on a field > CN=pointhairedpeoplethatsux,OU=Groups,OU=Hatepeople,OU=HR,DC=fabrika,DC=com;CN=pointhairedboss,OU=Groups,OU=Hatepeople,OU=HR,DC=fabrika,DC=com > this string is all the groups one user has membership. > So what I am trying to do. > read this string > and extract only the CNs > > like > > pointhairdepeoplethatsux,pointhairedboss
>>> s = "CN=pointhairedpeoplethatsux,OU=Groups,OU=Hatepeople,OU=HR,DC=fabrika,DC=com;CN=pointhairedboss,OU=Groups,OU=Hatepeople,OU=HR,DC=fabrika,DC=com" >>> pieces = sum([p.split(';') for p in s.split(',')], []) >>> pieces ['CN=pointhairedpeoplethatsux', 'OU=Groups', 'OU=Hatepeople', 'OU=HR', 'DC=fabrika', 'DC=com', 'CN=pointhairedboss', 'OU=Groups', 'OU=Hatepeople', 'OU=HR', 'DC=fabrika', 'DC=com'] >>> pieces = sum([p.split(';') for p in s.split(',')], []) >>> cns = [piece[3:] for piece in pieces if piece.startswith('CN=')] >>> cns ['pointhairedpeoplethatsux', 'pointhairedboss'] The process basically splits on commas, then splits each of those pieces on semi-colons, then flattens the list-of-lists into a single list of all the pieces (the flattening is done by abusing sum() so there may be better, more elegant ways of doing that). Once you have the flattened list of pieces, you can then just check for the ones that start with "CN=" and extract the bits of them that you need. -tkc -- http://mail.python.org/mailman/listinfo/python-list