Как получить часть строки после последнего появления определенного символа? - PullRequest
1 голос
/ 29 мая 2020

Я хотел бы иметь подстроку после последнего появления символа сертификата. Теперь я нашел здесь , как получить первую, вторую или около того части, но мне нужна только последняя часть. Входные данные - это список файловых каталогов:

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

Пока что я пробовал некоторые вещи в скобках, которые пришли мне в голову. Например [конец], [-1] и т.д. c. Ни один из них не работает. Есть ли способ получить последнюю часть, не переставляя мои струны назад, получая первую часть, а затем повернув ее обратно?

1 Ответ

3 голосов
/ 29 мая 2020

Вы можете использовать regexp_matches():

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

Здесь - скрипт db <>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...