gpt4 book ai didi

regex - 句子中的最后一个单词 : In SQL (regular expressions possible? )

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:22 24 4
gpt4 key购买 nike

我需要在 Oracle SQL (10gR2) 中完成此操作。但我想,我宁愿说得直白一点,任何好的、高效的算法都可以。

给定一行(或句子,包含一个或多个单词,英语),你将如何找到句子的最后一个单词?

这是我在 SQL 中尝试过的。但是,我希望看到一种有效的方法。

select reverse(substr(reverse(&p_word_in)
, 0
, instr(reverse(&p_word_in), ' ')
)
)
from dual;

想法是反转字符串,找到第一个出现的空格,检索子字符串并反转字符串。效率高吗?是否可以使用正则表达式?我在 Oracle 10g R2 上。但我不介意看到其他编程语言的任何尝试,如果需要,我不介意编写 PL/SQL 函数。

更新:

Jeffery Kemp 给出了精彩的答案。这非常有效。

回答

SELECT SUBSTR(&sentence, INSTR(&sentence,' ',-1) + 1)
FROM dual

最佳答案

我认为使用 INSTR/SUBSTR 更简单:

WITH q AS (SELECT 'abc def ghi' AS sentence FROM DUAL)
SELECT SUBSTR(sentence, INSTR(sentence,' ',-1) + 1)
FROM q;

关于regex - 句子中的最后一个单词 : In SQL (regular expressions possible? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3908955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com