MySQL 问题 - 我想删除任何括号内的所有文本

标签 mysql sql regex string replace

只是检查一下你们是否有解决方案 - 从下面这样的文本中,我想删除任何括号内的所有文本。

输入

PAY - 加法,文件(aaaaaaaaaaaaaa/bbbbbbbbbbbbs 即 ssss,ffff – 即 cccccc),DED(pppppp,llllll,ffffff gggg),LOSS(ddddd,hhhhhh –即),F TO G(“F”正在切换到“G”)

输出

支付 - 添加、文件、DED、丢失、F TO G

最佳答案

如果您运行的是 MySQL 8.0,则可以使用 regexp_replace() 执行此操作:

regexp_replace(mytext, '\\([^)]*\\)', '')

只要表达式中没有嵌套括号(与您的示例数据一致),此方法就有效。

<强> Demo on DB Fiddle :

 select regexp_replace(
    'PAY - addition,FILES (aaaaaaaaaaaaaa/bbbbbbbbbbbs i.e. ssss,ffff – i.e. cccccc),DED (ppppppp, llllll, fffff gggg),LOSS (ddddd, hhhhhh – i.e.),F TO G ( “F” is switching to “G”)',
    '\\([^)]*\\)',
    ''
) val
| val                                      |
| :--------------------------------------- |
| PAY - addition,FILES ,DED ,LOSS ,F TO G  |

关于MySQL 问题 - 我想删除任何括号内的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60267840/

相关文章:

php - 我如何从 MySQL 获取特定的最后一个值

mysql - 在不同的页面/配置文件上显示不同的结果

来自行转换的 MySql 动态周期列

mysql - 为什么 MySQL 中没有无限跟随?

php - 如何在没有 'on duplicate key update' 的情况下使用 insertFromSelect(...) ?

java - 像列名一样使用 MySQL

sql - 将所有同义词更改为另一个数据库

javascript - jquery正则表达式在第一次出现匹配后替换所有内容

javascript - 按某些字母拆分字符串,同时跳过某些字母

regex - 所有可能是项目符号点的字符(例如 "*")或 "dash"点