当前位置:  开发笔记 > 编程语言 > 正文

使用正则表达式从Google BigQuery中的字符串中提取数字

如何解决《使用正则表达式从GoogleBigQuery中的字符串中提取数字》经验,为你挑选了1个好方法。



1> Cyrbil..:

经过一番挖掘,我最终得到了这个解决方案:

SELECT
  mystr,
  GROUP_CONCAT(SPLIT(REGEXP_REPLACE(mystr, r'[^\d]+', ','))) AS nums
FROM
  (SELECT 'this is a string with some 666 numbers 999 in it 333' AS mystr),
  (SELECT 'just one number 123 in this one ' AS mystr),
  (SELECT '99' AS mystr),
  (SELECT 'another -2 example 99' AS mystr),
  (SELECT 'another-8766 example 99' AS mystr),
  (SELECT 'http://somedomain.com/2015/12/this-is-a-post-with-id-in-url-99999' AS mystr),
  (SELECT 'http://somedomain.com/2015/12/this-is-a-post-with-id-in-url-99999/gallery/001' AS mystr),
  (SELECT 'http://somedomain.com/2015/12/this-is-a-post-with-id-in-url-99999/print-preview' AS mystr)

在此输入图像描述

这个怎么运作:

我首先使用正则表达式来匹配任何数字并用逗号替换

然后split用来得到结果,空结果被丢弃

group_concat 就是在这里展示结果

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有