如何从字符中获取子字符串

Posted

技术标签:

【中文标题】如何从字符中获取子字符串【英文标题】:How to get a substring from a character on 【发布时间】:2020-09-25 08:08:23 【问题描述】:

我有一个包含 varchar2 列的表,其中有不同长度的字符串,我必须在字符“-”之后提取子字符串。

STRING_COL
afg a ga ga ga ggfdg - gfd g f
ok k ok o - gfs gsd gsg sd g sd
okk - jdjdjdj d d
...

我想在'-'字符之后得到所有内容

你能告诉我怎么做吗? 甲骨文10g

提前致谢! 标记

【问题讨论】:

【参考方案1】:

看起来不错,旧的 SUBSTR + INSTR 组合。如果要删除前导/尾随空格,请应用 TRIM

SQL> select string_col,
  2    substr(string_col, instr(string_col, '-') + 1) result,
  3    --
  4    trim(substr(string_col, instr(string_col, '-') + 1)) trimmed_result
  5  from test;

STRING_COL                                         RESULT               TRIMMED_RESULT
-------------------------------------------------- -------------------- --------------------
afg a ga ga ga ggfdg - gfd g f                      gfd g f             gfd g f
ok k ok o - gfs gsd gsg sd g sd                     gfs gsd gsg sd g sd gfs gsd gsg sd g sd
okk - jdjdjdj d d                                   jdjdjdj d d         jdjdjdj d d

SQL>

【讨论】:

@Mark:通过单击复选标志考虑accept it 的答案。这向社区表明您的问题已得到解决(并奖励回答者!)。【参考方案2】:

你可以使用regexp_substr():

select regexp_substr(string_col, '[^-]+$')

Here 是一个数据库小提琴。

【讨论】:

以上是关于如何从字符中获取子字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何更改python字符串子字符串信息

使用 Python 的字符串子序列内核和 SVM

数组篇在python中如何查找最长字符串子串

如何在Java中将字符串子串到第二个点(。)?

[在python中使用正则表达式搜索字符串子字符串

求字符串不同子串个数