我正在从公司名称中删除法律表格,我的方法是使用正则表达式来匹配法律表格。代码如下所示:
syn = [re.sub(r'\b' + form + r'\b', '', name).strip()
for form in self.forms
if re.search(r'\b' + form + r'\b', name)]
然而,由于有数百种法律形式,因此速度很慢。还有更好的方法吗?
答案 0 :(得分:0)
你应该预先编译你的正则表达式,因为它们有很多。 Python默认情况下会记住正则表达式,但是你的大数字会超过缓存大小。
另一种选择可能是对公司字符串进行标记,因为它可能不长。然后针对包含您的表单的set
检查每个令牌。然后在最后加入令牌。
self.forms = (...)
tokens = company.split(' ')
return ' '.join([ t for t in tokens if t not in self.forms ])