我很抱歉把这个贴出来,但是我已经花了很多时间来写这个,但是没有成功。因此,正则表达式+Python的一个挑战是:
我处理的数据大多是有规律的格式。公司列表组合成一个字符串
`Company Inc,Company, LLC,Company`
没有引号来描述条目。使用上述常规示例,我可以:
^{pr2}$不幸的是,有些字符串的格式不规则,如:
`IBP, Inc,Tyson Foods,Inc.`
其中,Inc
与{r',\b'
,我得到了:
>>> re.split(r',\b', 'IBP, Inc,Tyson Foods,Inc.')
['IBP, Inc', 'Tyson Foods', 'Inc.']
我想要这个:
['IBP, Inc', 'Tyson Foods,Inc.']
在这种情况下你会怎么做?在
把Mike M的回答换成稍微不同的术语,如果你能建立一个可靠的非相关令牌列表,比如'Inc'、'Inc'和'LLC',那么你就有了一种解析的方法。即使这样,您可能也不会得到像split()这样的自动方法来为您工作。你可能得自己动手了。在
如果知道的话,您可以将分割预防字符串添加到否定的lookahead中
我会在逗号上进行第一次拆分,以获得以下列表:
然后对数据进行第二次传递,在这些数据中,极不可能的公司名称(如“Inc”、“Inc.”、“LLC”、“GmbH”等)与列表中的前一项相结合:
^{pr2}$如果以后发现数据中有“Farmers Group,The”之类的条目,并将文章放在正确的位置,则此方法还可以让您进行更复杂的操作。在
相关问题 更多 >
编程相关推荐