On Fri, 09 Feb 2007 16:17:31 -0800, James Stroud wrote: > Assuming item is "(u'ground water',)" > > import re > item = re.compile(r"\(u'([^']*)',\)").search(item).group(1)
Using a regex is a lot of overhead for a very simple operation. If item is the string "(u'ground water',)" then item[3:-3] will give "ground water". >>> import re, timeit >>> item = "(u'ground water',)" >>> timeit.Timer('item[3:-3]', 'from __main__ import item').repeat() [0.56174778938293457, 0.53341794013977051, 0.53485989570617676] >>> timeit.Timer( \ ... '''re.compile(r"\(u'([^']*)',\)").search(item).group(1)''', \ ... 'from __main__ import item; import re').repeat() [9.2723720073699951, 9.2299859523773193, 9.2523660659790039] However, as many others have pointed out, the Original Poster's problem isn't that item has leading brackets around the substring he wants, but that it is a tuple. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list