我为新手的问题道歉,但这是我第一次使用课程。我正在尝试创建的类旨在对字典中的所有键和值执行正则表达式查找和替换。具体的查找和替换是在实例化时定义的。
我有两个问题。第一个问题是类的每个实例都需要接受一个新字典。我不清楚如何创建一个接受通用字典的类,我可以在创建实例时指定它。第二个问题是我的课程根本不起作用。我TypeError: expected string or buffer
在类行中收到错误消息v = re.sub(self.find,self.replace,v)
。
我要创建三个实例,每个输入字典一个:input_iter1
、input_iter2
和input_iter3
。
以下是类:
class findreplace:
values = []
keys = []
def __init__(self, find, replace):
self.find = find
self.replace = replace
def value(self):
for k,v in input_iter1.items():
v = re.sub(self.find,self.replace,v)
findreplace.values.append(v)
def key(self):
for k,v in input_iter1.items():
k = re.sub(self.find,self.replace,k)
findreplace.keys.append(k)
以下是实例:
values1 = findreplace('[)?:(]','')
values1.value()
values2 = findreplace(r'(,\s)(,\s)(\d{5})({e<=1})',r'\2\3')
values2.value()
keys1 = findreplace(r'(?<=^)(.+)(?=$)',r'(?:\1)')
keys1.key()
keys2 = findreplace(r'(?=$)',r'{e}')
keys2.key()
print values
print keys
如果有人对我如何解决这两个问题有任何见解,我将不胜感激。谢谢!