【问题标题】:How to select the last 3 words from a string in PL\SQL?如何从 PL\SQL 中的字符串中选择最后 3 个单词?
【发布时间】:2019-03-04 09:18:13
【问题描述】:

我有一列包含如下数据:

Eigen Foster 教授,犯罪学家博士

学生娜塔莉波特曼记者

维克多·摩根牙医

瑞士博士 M. Muriel Bayes 记者

我想看到的是:

Eigen Foster 犯罪学家

娜塔莉波特曼记者

维克多·摩根牙医

穆里尔·贝叶斯记者

我知道我应该以某种方式使用 regexp_substr,但我不知道如何使用 $ 作为起始位置。所以一个字符串中可能有不同数量的单词,但我总是需要最后 3 个单词。

【问题讨论】:

    标签: regex plsql plsqldeveloper regexp-replace regexp-substr


    【解决方案1】:

    试试这个正则表达式[^ ]+ [^ ]+ [^ ]+$

    SELECT  regexp_substr('Professor Dr. Eigen Foster Criminalist', '[^ ]+ [^ ]+ [^ ]+$')FROM dual;
    
    • $ - 表示字符串结束
    • [^ ]+ - 表示至少一个字符但没有空格

    【讨论】:

      猜你喜欢
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多