【问题标题】:How to extract string inside single quotes in PL/SQL using regex or any other method [duplicate]如何使用正则表达式或任何其他方法在 PL/SQL 中提取单引号内的字符串 [重复]
【发布时间】:2018-09-11 12:30:20
【问题描述】:

我需要在 PL/SQL 中的单引号内获取字符串,无论是使用正则表达式还是任何其他有效的方法。

example: 'He is my uncle's son.and he is a programmer' 
output: He is my uncle's son.and he is a programmer

提前致谢!!

【问题讨论】:

  • 考虑使用trim(<your_text>,'''')?如果您使用的是旧版本 ltrim(rtrim(<your_text>,''''),'''')?
  • 像 'a single quote '' ' 这样的字符串呢?结果应该是什么?另外,你能有像'这里开始引用的部分:'' QUOTED '''这样的字符串吗?
  • 在 Oracle 中,当我们想在字符串中添加单引号时,我们将其写成 (' I am going to see "The Palace" ') 所以预期的输出是 ( I am going to see 'The Palace' ) 所以我的要求也一样,我只是想以同样的方式获得。
  • 您的字符串是否可以包含一个包含您想要保留的单引号的子字符串?比如:“先生。奥布莱恩是他的名字?
  • @Gary_W :是的,应该保留。

标签: regex oracle plsql


【解决方案1】:

使用可以使用替换功能..

select replace ('<some text here>',chr(39)) from dual;

示例select replace (q'[this is ' having' mult'iple ' quotes'']',chr(39)), q'[this is ' having' mult'iple ' quotes'']' original_text from dual;

输出将是:

这是有多个引号

这将删除字符串中的所有单引号。

如果要删除双引号,请使用 chr(34)。

【讨论】:

  • 感谢您的回复,但我不想删除单引号我想要单引号内的字符串而不删除单引号,然后该字符串将在循环内发送。
  • 列中的单引号不会被删除...函数会通过删除单引号返回字符串...
猜你喜欢
  • 2022-08-14
  • 2023-02-23
  • 2015-11-04
  • 2016-10-06
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多