我正在尝试用较新的、略有不同的数据库替换 MySql 数据库中旧 BB 标签标记的所有实例。
旧格式是这样的...
[youtube:********]{Video ID}[/youtube:********]
我想用这个替换...
[youtube:********]http://www.youtube.com/watch?v={Video ID}[/youtube:********]
其中 * 是字母数字字符的随机字符串。所以简单地 REPLACE(feild, '[youtube:********]', '[youtube:********]http://www.youtube.com?watch?v =
不幸的是不会这样做。
我使用 REPLACE()
和 INSTR()
所做的所有笨拙尝试都导致了诸如 [b]Bold Text[/b] 之类的令人讨厌的事情]http://www.youtube.com/watch?v=
有没有办法在 MySql 中进行这种模式替换?可能用正则表达式吗?
谢谢。
最佳答案
这是你尝试过的吗?
UPDATE table SET Field = REPLACE(Field,']{',']http://www.youtube.com/watch?v={')
这取决于是否没有出现任何其他“]{”
编辑:您可能还想尝试:
UPDATE table SET Field = LEFT(Field,#) + 'http://www.youtube.com/watch?v='+
RIGHT(Field,(Char_Length(Field)-#);
只需使用 MYSQl 文档检查语法即可。 Char_LNEGTH() 可能需要是 LENGTH() - 我相信你明白了
关于mysql - 替换 MySql 中的格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5199113/