gpt4 book ai didi

MySQL 将字符串从一个字符替换为另一个字符

转载 作者:行者123 更新时间:2023-11-29 07:24:19 25 4
gpt4 key购买 nike

我正在处理其中有一个数组索引的字符串路径,用 [#] 表示,其中 # 是索引。这个索引可以是任何东西。我想要做的是在我的路径字符串中,删除所有出现的 [#] 。所以要删除括号和括号内的任何内容。我看到了替换功能,但我不确定如何使用括号之间的任意“中间”来替换。

我想从 '[' 中删除到 ']' 并将其替换为 ''

Ex 路径:Number[2].padding[1] 缩减为 Number.padding

现在我有类似的东西:

replace(path, '[%]', '') 

我试图将 % 用作通配符,但它不起作用。

最佳答案

如果您使用的是 MySQL 8.0,则可以使用 REGEXP_REPLACE 来捕获部分字符串,例如 [#],如下所示

SELECT REGEXP_REPLACE(@txt, '\\[[^]]*\\]', '');

正则表达式分解:

\\[      # opening square bracket
[^]]* # 0 to N characters other than a closing square bracket
\\] # closing square bracket

您的测试数据示例:

SET @txt = 'Number[2].padding[1] reduced to Number.padding';
SELECT @txt input, REGEXP_REPLACE(@txt, '\\[[^]]*\\]', '') output

| input | output |
| ---------------------------------------------- | ---------------------------------------- |
| Number[2].padding[1] reduced to Number.padding | Number.padding reduced to Number.padding |

关于MySQL 将字符串从一个字符替换为另一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54680249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com