mysql - 将模板智能标签 <<tag>> 替换为 mysql 中的 [tag]

标签 mysql replace

我有一个名为 templateType 的表,它有一个名为 Template_Text 的列。 该模板有许多使用 mysql 的智能标签 <> 到 [tag],我需要将 << 替换为 [ 和 >> 为 ]。

根据 OP 的评论编辑:

这是一个带有大文本和多个智能标签的模板。例如:" I <<Fname>> <<Lname>>, <<UserId>> <<Designation>> of xyz organization, Proud to announce...."

这里我需要将这些 << 替换为 [ 并将 >> 替换为 ],所以它看起来像

" [Fname] [Lname], [UserId] ...." 

最佳答案

根据您的意见,您的 MySQL 版本不支持 Regex_Replace() 功能。因此,通用解决方案是不可行的。

假设您的字符串不包含额外的 <<>> , 除了遵循 <<%>>格式,我们可以使用 Replace() 功能。

我还添加了一个 WHERE条件,以便我们只选择那些符合给定子字符串条件的行。

Update templateType
SET Template_Text = REPLACE(REPLACE(Template_Text, '<<', '['), '>>', ']')
WHERE Template_Text LIKE '%<<%>>%'

如果问题更复杂,您可能会从这个答案中得到一些想法:https://stackoverflow.com/a/53286571/2469308

关于mysql - 将模板智能标签 <<tag>> 替换为 mysql 中的 [tag],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53294335/

相关文章:

PHP - 下拉菜单(选择)无法正常工作到 while 循环

php - 自定义 PHP Excel 导出

pandas - 在 pandas 数据框列中填充空白会导致功能逆转

javascript - 查找并替换字符串

javascript - 求助正则表达式(JS replace方法)

java - 转义 '\' 以与 Java ReplaceAll 方法一起使用

Mysql多表

mysql - 将数据从 csv 文件导入 MySQL 表时如何避免创建空格

javascript - 将所有 "\n"替换为 ","

mysql - 使用aggregate和union all时我的SQL查询结果问题