繁体   English   中英

BigQuery:字符串后的正则表达式

[英]BigQuery : Regex after a string

我有一列带有值source:destination:city:street:number的列,而我只想获取不包含:的城市。

我怎样才能做到这一点?

提前致谢

我怎样才能做到这一点?

在BigQuery方言中均可使用:旧版和标准SQL

SELECT 
  REGEXP_EXTRACT('source:destination:city:street:number', r'(?:.+:){2}(.+)(?::.+){2}')  

查看更多有关REGEXP_EXTRACTre2语法的信息

如果我需要来源后的第一个单词:例如?

SELECT 
  REGEXP_EXTRACT('source:destination:city:street:number', r'(?:.+:){1}(.+)(?::.+){3}')  

根据您的实际需求,这里有很多选择
下面是另一个(BigQuery旧版SQL)

SELECT 
  NTH(1, SPLIT(text,':')) AS source,
  NTH(2, SPLIT(text,':')) AS destination,
  NTH(3, SPLIT(text,':')) AS city,
  NTH(4, SPLIT(text,':')) AS street,
  NTH(5, SPLIT(text,':')) AS number
FROM (
  SELECT 'source:destination:city:street:number' AS text
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM