【发布时间】:2013-01-02 23:20:46
【问题描述】:
我必须通过以下方式清理一些 varchar:
从关闭的列表中删除特殊字符,例如:
!, @, #, $, %, ^, &, *, (, ), }, {, [, ], ",", ., ?, /, ',。我通过大量使用 replace\regexp_replace 设法做到了这一点,但我正在寻找类似于 SQL Server 中的东西。-
删除以下数字但不相邻的含义:
round 1 --> roundround1 --> round1round 12345 --> roundround12345 --> round12345 -
从封闭的单词列表中删除单词,例如:“and”、“or”、“Ltd.”、“international”,不带子字符串:
more food or drinks ---> more food drinks. and not --> me food or drinks
我在一张大桌子上工作,我希望尽可能高效。
我应该写一个函数来做到这一点还是有更优雅的方式?
【问题讨论】:
-
顺便说一句,您的第三个问题定义不明确。 “有限公司”中的点可以是句尾的点,也可以是缩写后的点。
-
你说得对,“。”不应在 (3.) 中,因为它已在 (1.) 中删除
-
@ErwinBrandstetter 和 Tometzky 谢谢你们。我希望我能将所有答案都打勾。
标签: sql regex postgresql pattern-matching