sql—如何获取某个字符最后一次出现后的字符串部分?

vof42yt1  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(426)

我想在最后一次出现认证字符后再加一个子串。现在我在这里找到了如何得到第一部分,第二部分,但我只需要最后一部分。输入数据是文件目录列表:

c:\dir\subdir\subdir\file.txt
c:\dir\subdir\subdir\file2.dat
c:\dir\subdir\file3.png
c:\dir\subdir\subdir\subdir\file4.txt

不幸的是,这是我必须处理的数据,否则我可以使用命令提示符列出它。问题是目录的数量总是在变化。基于上一个链接的代码是:

select (regexp_split_to_array(BTRIM(path),'\\'))[1] from myschema.mytable

到目前为止,我已经尝试了一些我脑海中浮现的事情。例如[end]、[1]等。它们中没有一个在工作。有没有办法得到最后一部分,而不是重新排列我的字符串向后,得到第一部分,然后把它转回来?

a2mppw5e

a2mppw5e1#

你可以用 regexp_matches() :

select (regexp_matches(path, '[^\\]+$'))[1]

这是一把小提琴。

相关问题