I've got a regular expression that finds certain words from a longer string. >From "Peter Bengtsson PETER, or PeTeR" it finds: 'Peter','PETER','PeTeR'.
What I then want to do is something like this: def _ok(matchobject): # more complicated stuff happens here return 1 def _massage(word): return "_" + word + "_" for match in regex.finditer(text): if not _ok(match): continue text = text[:match.start()] +\ _massageMatch(text[match.start():match.end()]) +\ text[match.end():] This code works and can convert something like "don't allow the fuck swear word" to "don't allow the _fuck_ swear word". The problem is when there are more than one matches. The match.start() and match.end() are for the original string but after the first iteration in the loop the original string changes (it gains 2 characters in length due to the "_"'s) How can I do this this concatenation correctly? -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com -- http://mail.python.org/mailman/listinfo/python-list