-----Original Message----- From: Carsten Haese [mailto:[EMAIL PROTECTED] Sent: Friday, November 17, 2006 11:03 AM To: Michael Yanowitz Cc: python-list@python.org Subject: RE: String Replace only if whole word?
On Fri, 2006-11-17 at 10:43 -0500, Michael Yanowitz wrote: > >Your pattern would be "[^A-Za-z0-9_]word[^A-Za-z0-9_]" > > > >-- > >Juho Schultz > > > Thanks. > This works great except for one thing: > > The character after the replacement is deleted, so that if I have > send_data (LAPTOP, test_string) > it would replace it with: > send_data (10.1.3.4 test_string) > (ignoring that the 10.1.3.4 is not quoted). The comma is missing. If you actually wanted to use string replacement, you'd need a pattern with look-behind and look-ahead assertions along the lines of "(?<![A-Za-z0-9_])word(?![A-Za-z0-9_])". Then again, I don't think string replacement is the right tool for the job. You're saying that the file you are operating on in this fashion is a Python script. Why don't you just place something like LAPTOP="10.1.3.4" at the top of that file, or have the script read this information from a configuration file? -Carsten Thanks, works great (so far). Yeah, I am operating this on a Python script. However, I am working off a requirement that the script be pre-processed and the strings replaced before executing the script and that if there are any remaining (not replaced) names that I don't execute the script and report that some 'mnemonics' have not been replaced. Thanks: Michael Yanowitz -- http://mail.python.org/mailman/listinfo/python-list