如何从字符串中删除特定单词?

Posted

技术标签:

【中文标题】如何从字符串中删除特定单词?【英文标题】:How To Remove specific word from String? 【发布时间】:2015-07-21 13:33:19 【问题描述】:

我想从

中删除 (Apple Banana)

String = '我买了苹果、香蕉、橙子和芒果'

NewString = '我买了 , , Orange and Mango'

【问题讨论】:

你用 REPLACE 试过了吗? google 如何使用替换命令,那是你最好的选择。另外,发布您尝试过的内容以及为什么它不起作用 remove specific word from string的可能重复 【参考方案1】:

使用 REGEXP_REPLACE 避免将多个替换函数链接在一起。

SELECT REGEXP_REPLACE(my_string, 'Apple|Banana', '') FROM my_table

【讨论】:

【参考方案2】:

这个呢?

select replace(
          replace('I bought Apple , Banana , Orange and Mango', 'Apple'),
      'Banana') 
from dual;

declare
  my_string varchar2(50) := 'I bought Apple , Banana , Orange and Mango';
begin
  my_string := replace(replace(my_string, 'Apple'), 'Banana');
end;  

【讨论】:

【参考方案3】:

我会尝试这样的事情

select replace(replace('我买了苹果、香蕉、橙子和芒果','苹果'),'香蕉') 从双;

【讨论】:

【参考方案4】:
select regexp_replace(source_string, '(^|\W)(Apple|Banana)(\W|$)', '\1\3', 1, 0, 'i') as new_string
  from (select  'I bought Apple , Banana , Orange and Mango' as source_string 
     from dual);


NEW_STRING  
I bought  ,  , Orange and Mango

此代码替换整个单词“Apple”或“Banana”不区分大小写。

【讨论】:

以上是关于如何从字符串中删除特定单词?的主要内容,如果未能解决你的问题,请参考以下文章

从文本字符串中删除特定单词? [复制]

从字符串中删除特定单词

如何从文本语料库中删除特定的单字组,但仍保留该单词的双字组?

如何通过C#中的特定片段从句子中提取整个单词?

Bash脚本从.txt文件中删除特定行[重复]

如何从随机字符串中删除单词“ BALLOON”?