【发布时间】:2014-03-21 06:14:09
【问题描述】:
我有一个数据集 (postgresql),其中一个字段包含逗号分隔的公司名称。大多数公司名称由常规字符(字母数字 + 空格)组成,但也有一些带有后缀,例如“, inc”。或“有限公司”。为了将公司名称拆分为单独的字符串,我需要先删除用于表示公司名称后缀的逗号(这是外部要求)。所以,例如在
Burn To Ground、Groupwise, Ltd.、People, Inc.、SepiaShot
我的正则表达式应该能够删除第二个和第四个逗号,但不能删除其他逗号。我想知道这是否可以使用正则表达式来完成。我尝试了几种使用平衡组和环视的解决方案,但我无法成功。
【问题讨论】:
-
只有当你有一组特定的词可以作为允许的后缀时才有可能。除了这些以外,这里还有 Ltd. 和 Inc. 字样?
-
这是dba.stackexchange.com/q/55871/7788 和相关的另一个示例,即“不要将逗号分隔的文本存储在数据库中”。
-
郑重声明:我也没有。这是之前从旧版本网站抓取的一些数据。一方面,从现在开始,我将尽量避免使用 RDBM 中的数组。
标签: regex postgresql replace pattern-matching