Ian Kelly wrote:
On Mon, Jun 6, 2011 at 10:08 AM, Neil Cerutti <ne...@norwich.edu> wrote:
import re

print("re solution")
with open("data.txt") as f:
   for line in f:
       fixed = re.sub(r"(TABLE='\S+)\s+'", r"\1'", line)
       print(fixed, end='')

print("non-re solution")
with open("data.txt") as f:
   for line in f:
       i = line.find("TABLE='")
       if i != -1:
           begin = line.index("'", i) + 1
           end = line.index("'", begin)
           field = line[begin: end].rstrip()
           print(line[:i] + line[i:begin] + field + line[end:], end='')
       else:
           print(line, end='')

print("non-re solution")
with open("data.txt") as f:
    for line in f:
        try:
            start = line.index("TABLE='") + 7
            end = line.index("'", start)
        except ValueError:
            pass
        else:
            line = line[:start] + line[start:end].rstrip() + line[end:]
        print(line, end='')

I like the readability of this version, but isn't generating an exception on every other line going to kill performance?

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to