我有一个关于在mysql中替换特定字符串的问题但是字符串的一部分每次都被更改,例如
"(my string to replace 1224:2)"
"(my string to replace 134:4)"
"(my string to replace 1824:9)"
"(my string to replace 14:2)"
我可以使用此查询更改字符串的第一部分
update dle_post set short_story = replace(short_story,'(my','( my');
但是如何替换其他部分,例如1224:2)
或14:2)
或以数字1,2,3..
和)
结尾的任何其他部分。我不能使用括号")"
,因为它在许多其他地方使用。
答案 0 :(得分:1)
不是最优雅的方式,但是......
update dle_post
set short_story =
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
short_story,
'0)','0 )'),'1)','1 )'),'2)','2 )'),'3)','3 )'),'4)','4 )'),'5)','5 )'),'6)','6 )'),'7)','7 )'),'8)','8 )'),'9)','9 )');
答案 1 :(得分:0)
正则表达式应该适用于这种情况。看看相关问题:How to do a regular expression replace in MySQL?