作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想提取小数点前的数字。
例如 -> $1,632.50
我希望它返回 1632。
如果存在与值关联的逗号,我当前的正则表达式 (r'[0-9]+') 无法获取正确的值。
示例 --> $1,632.50 它返回 1
但是对于 ---> $500.00 它返回 500在这种情况下效果很好
我是正则表达式的新手。感谢任何帮助
PS:我目前正在使用 Bigquery 和我只有 REGEX_EXTRACT 和 REGEX_REPLACE 可以使用。
这里的大多数解决方案都适用于普通的 python 脚本,但我仍然无法让它适用于 BigQuery
最佳答案
以下是 BigQuery 标准 SQL
REGEXP_REPLACE(str, r'\..*|[^0-9]', '')
如您所见,这里只有一个 REGEXP_REPLACE 完成了工作
你可以使用下面的虚拟数据来测试、玩它
#standardSQL
WITH t AS (
SELECT '$1,632.50' AS str UNION ALL
SELECT '$500.00'
)
SELECT
str,
REGEXP_REPLACE(str, r'\..*|[^0-9]', '') AS extracted_number
FROM t
结果
Row str extracted_number
1 $1,632.50 1632
2 $500.00 500
关于python - 如何仅从值 $1,632.50 中提取数字 (BigQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54297477/
我是一名优秀的程序员,十分优秀!