我想要得到的子字符串,如:filename_ip_time.pdf 我想選擇filename_ip,即串,直到的「_」查找字符串到最後出現
0
A
回答
3
使用最後一次出現-1作爲啓動與INSTR位置,開始從字符串的結尾搜索:
select INSTR('filename_ip_time.pdf', '_', -1) from dual
所以,如果你想選擇filename_ip,你應該做這樣的事情:
SELECT SUBSTR ('filename_ip_time.pdf',
0,
(INSTR ('filename_ip_time.pdf', '_', -1)) - 1)
FROM DUAL
0
你可以簡單地使用SUBSTR和INSTR。
例如,
這裏INSTR會給
_
從結束時的第一位置。
SQL> WITH DATA AS(
2 SELECT 'filename_ip_time.pdf' str FROM dual
3 )
4 SELECT SUBSTR(str, 1, instr(str, '_', -1, 1) -1) FROM DATA
5/
SUBSTR(STR,
-----------
filename_ip
SQL>
或者,
如果你知道你需要SUBSTR直到的
_
第二次出現,然後用INSTR獲得從一開始的_
秒出現的位置。
例如,
SQL> WITH DATA AS(
2 SELECT 'filename_ip_time.pdf' str FROM dual
3 )
4 SELECT SUBSTR(str, 1, instr(str, '_', 1, 2) -1) FROM DATA
5/
SUBSTR(STR,
-----------
filename_ip
SQL>
1
使用REGEXP_REPLACE()的另一種方式爲參數的緣故:
SQL> select regexp_replace('filename_ip_time.pdf', '^(.*)_.*$', '\1') from dual;
REGEXP_REPL
-----------
filename_ip
SQL>
當正則表達式可以讀作: 返回第一個記憶組(\ 1)模式匹配:
^ Start of the line
( start the first group to remember
. any character
* any number of the previous character (any character)
) end the first group, followed by
_ A literal underscore
.* followed by any number of any characters
$ until the end of the line.
所以實質上你要返回字符串的第一部分,但不包括最後一個下劃線和其餘部分。對於我來說,比嵌套的substr()和instr()更清晰,但是你需要圍繞正則表達式進行研究,最終當你需要進行更復雜的模式匹配時,這會給你更多的權力。
相關問題
- 1. C++:查找字符串中字符的最後一次出現
- 2. 查找字符串中字符的最後出現次數
- 3. 如何查找Swift字符串中子字符串的最後一次出現?
- 4. 查找特定字符串後出現的字符串
- 5. PHP:查找字符串中的最後一次出現
- 6. 查找字符串的最後一次出現
- 7. 如何找到字符串中最後一次出現的字符串?
- 8. 找到字符串中最後一個出現的字符串Python
- 9. 找到字符串後的所有字符串出現
- 10. as3找到最後一個出現的特定字符串
- 11. 如何查找字符串中最後一次出現的字符集
- 12. MYSQL:查找字符的最後一次出現在一個字符串
- 13. 查詢找到所有字符出現在字符串
- 14. 找到最後一次出現的字符串中的子串,替換
- 15. 查找字符串T的最右邊出現,在一個字符串s
- 16. 替換字符串中最後出現的子字符串
- 17. 在最後一次出現字符後刪除字符串
- 18. 訪問VBA查找字符串的最後一個字符串?
- 19. 查找網頁上的字符串之前或之後出現的字符串?
- 20. 使用BeautifulSoup查找某個字符串後出現的第一個字符串
- 21. 在MySQL中查找字符串中子字符串的出現?
- 22. 爪哇 - 查找字符串的出現在一個字符串
- 23. PHP查找字符串中出現的所有子字符串
- 24. 查找字符串中出現的所有子字符串
- 25. 查找字符串中字符的最高連續出現次數拋出字符串索引超出範圍
- 26. 查找文本文件中出現的最大字符串
- 27. 查找列表中某個字符的最後一次出現
- 28. Oracle查詢查找字符串中所有出現的字符
- 29. 正則表達式查找字符串的最後一次出現在URL
- 30. 查找字符串的最後一次出現是有一定長度
謝謝你爲我工作:) – 2015-03-19 09:24:51