簡體   English   中英

如何在某個字符最后一次出現后獲取字符串的一部分?

[英]How to get the part of a string after the last occurrence of certain character?

我想在最后一次出現某個字符后使用 substring 。 現在我在這里找到了如何獲得第一、第二左右的部分,但我只需要最后一部分。 輸入數據是文件目錄列表:

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] 等。它們都不起作用。 有沒有辦法在不向后重新排列我的琴弦的情況下得到最后一部分,得到第一部分,然后把它轉回來?

您可以使用regexp_matches()

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

是一個 db<>fiddle。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM