【发布时间】:2019-06-15 06:52:21
【问题描述】:
我想只提取小数点前的数字。
例如 -> $1,632.50
我希望它返回 1632。
如果存在与值关联的逗号,我当前的正则表达式 (r'[0-9]+') 不会获取正确的值。
示例 --> $1,632.50 它返回 1
但是对于 ---> $500.00 它返回 500 在这种情况下它工作正常
我是正则表达式的新手。任何帮助表示赞赏
PS:我目前正在使用 Bigquery 和 我只有 REGEX_EXTRACT 和 REGEX_REPLACE 可以使用。
这里的大多数解决方案都适用于普通的 python 脚本,但我仍然无法让它在 BigQuery 上运行
【问题讨论】:
-
也许你可以不用正则表达式,使用
str.replace或str.split。 -
REPLACE((REGEXP_EXTRACT(amount , r'([\d,]+)')),',','') 这行得通。我想这里有更好的选择,但我现在可以接受
-
您的声誉得分较低。对 SO 很重要 - 您可以使用已发布答案左侧投票下方的勾号
mark accepted answer。请参阅meta.stackexchange.com/questions/5234/… 了解为什么它很重要!对vote on answer也很重要。投票选出有帮助的答案。您可以查看当有人回答您的问题时该怎么做 - stackoverflow.com/help/someone-answers。遵循这些简单的规则,您可以提高自己的声誉得分,同时让我们有动力回答您的问题 - 考虑一下! -
@MikhailBerlyant 谢谢!我试图找出如何接受正确答案。我是新来的:)
标签: python sql regex google-bigquery