regular expression
Jeff Epler
jepler at unpythonic.net
Thu Jul 31 11:46:59 EDT 2003
These are all untested, because I don't have Mk4py or your datafile to
try it on.
I might write this:
import re
pattern = re.compile("^Ge")
def func(row):
try:
nachname = row.Nachname
except AttributeError:
return 0
return pattern.search(nachname) is not None
vf = vw.filter(func)
If you're using a Python version with nested scopes, you could use them
in this case:
import re
def make_func(pattern):
pattern = re.compile(pattern)
def func(row):
try:
nachname = row.Nachname
except AttributeError:
return 0
return pattern.search(nachname) is not None
return func
vf = vw.filter(make_func("^Ge"))
or you can make a callable filter object by using classes:
import re
class PatternFilter:
def __init__(self, pattern):
self.pattern = re.compile(pattern)
def __call__(self, row):
try:
nachname = row.Nachname
except AttributeError:
return 0
return self.pattern.search(Nachname) is not None
vf = vw.filter(PatternFilter("^Ge"))
Jeff
More information about the Python-list
mailing list