gpt4 book ai didi

regex - 使用配置单元 regexp_replace 从数据中删除大括号和美元符号

转载 作者:可可西里 更新时间:2023-11-01 16:08:30 24 4
gpt4 key购买 nike

我需要从配置单元中的一个字段中删除美元符号和大括号。

示例数据:
$210.53
$210.53
($390.53)
($210.53)

问题是有些记录有大括号,有些则没有。以下是我想出的语法:
select REGEXP_REPLACE(amount, '\(\$|\)','') as amount from table where id=1234;
输出:
$210.53
$210.53
390.53
210.53

此语法不会从没有大括号的记录中删除美元符号。有人可以指导我吗?

最佳答案

如果您想从字段中删除 a) 美元符号和 b) 括号,您需要编写涵盖这两种情况的正则表达式。

案例 A:

^\$

案例 B:

^\(
\)$

将这些与 | 合并在一起你得到的(交替)运算符

(^\$|^\(\$|^\(|\)$)

那是:

  • $ 开头
  • ($ 开头
  • ( 在开头
  • ) 最后

如果您确定您的数据总是看起来像您的示例,您可以将其简化为:

(^\(?\$|\)$)
  • $ 以可选的前导开括号开头
  • 最后关闭paren

(或者正如@stribizhev 指出的那样):

[$()]
  • 等于$, (, )的字符

TMTOWTDI(取决于您的数据)

关于regex - 使用配置单元 regexp_replace 从数据中删除大括号和美元符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33787587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com