2016-02-19 49 views
0

enter image description here我如何修剪字符串时它达到一定的字符(括号)

我有这样的柱,这里面的字符串。我想返回一个显示提供程序列的结果,其中包含所有字符,但不包括第一个左括号之前的空格。

完成此操作的最佳策略是什么?

即转 “NEALķHANSEN(4406570001)” 到 “NEALķHANSEN” 等。

回答

1

使用regexp_replace(),像这样:

regexp_replace(provider, ' \([^)]*\)', '') 

例如:

=> select regexp_replace('"NEAL K HANSEN (4406570001)"', ' \([^)]*\)', ''); 
regexp_replace 
----------------- 
"NEAL K HANSEN" 
(1 row) 

函数调用取代一切符合“一个空间,一个开放的括号,任何数量的字符不是关闭paren和一个关闭paren“没有任何东西(一个空字符串)。

+0

太棒了,这很好。我会在这里阅读文档,因为你把我带到了正确的地方。 http://www.postgresql.org/docs/9.1/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP – Americo