使用BigQuery提取目录结构字符串中的指定分段
提取路径中指定位置的分段
方法1:使用split函数(更直观)
如果你的SQL引擎支持split函数(比如Hive、Spark SQL),直接按/分割字符串后取对应索引即可(数组索引从0开始):
- 提取第2段(Word 2):
split(path_column, '/')[1] - 提取第3段(Word 3):
split(path_column, '/')[2]
示例:
- 输入
Word 1/Word 2/Word 3/Word 4,执行split(..., '/')[1]返回Word 2,split(..., '/')[2]返回Word 3 - 输入
Word 1/Word 2/Word 3,执行上述语句同样能得到对应分段
方法2:使用regexp_extract函数
用正则捕获指定位置的分段,精准匹配目标内容:
- 提取第2段:
regexp_extract(path_column, '^[^/]+/([^/]+)', 1)
正则逻辑:^[^/]+匹配第一段内容,/匹配分隔符,([^/]+)捕获第二段内容,取捕获组1的结果 - 提取第3段:
regexp_extract(path_column, '^[^/]+/[^/]+/([^/]+)', 1)
正则逻辑:^[^/]+/[^/]+匹配前两段内容,/匹配分隔符后,([^/]+)捕获第三段内容,取捕获组1的结果
内容的提问来源于stack exchange,提问作者JohnnyS4322
相关产品推荐
相关产品推荐

