如何在配置单元中显示由/分隔的子字符串

iovurdzv  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(614)

我的表中有一列的条目如下:

this/is/my/dir/file
this/is/my/another/dir/file

我想显示不带文件名的字符串:

this/is/my/dir/

这是我正在使用的查询:

select regexp_replace('this/is/my/another/dir/file','[^/]+','');
k5ifujac

k5ifujac1#

好的,你可以用 regexp_replace 移除 file 并且只保留dir路径,因为我们知道文件名不包含字符“/”,并且总是位于dir路径的末尾,所以regexp可以写成 '[^/]+$' ,示例如下,表示用regexp替换子字符串 '[^/]+$' 空空荡荡的 '' .

select regexp_replace('/this/is/my/dir/file','[^/]+$','') as dir;
+-------------------+
|        dir        |
+-------------------+
| /this/is/my/dir/  |
+-------------------+

select regexp_replace('this/is/my/another/dir/file','[^/]+$','') as dir;
+--------------------------+
|           dir            |
+--------------------------+
| this/is/my/another/dir/  |
+--------------------------+

相关问题