我有一个大的MYSQL表,其中包含未知数量的带括号的数字。
例句:“现在地球是一片空荡荡的……”
该数字最多可以为3位数字。
当我不知道数字是什么时,是否可以编写一个同时删除括号和数字的查询?
发布于 2013-02-17 07:13:29
试试这个,希望能对你有所帮助:
<?php
$str = "Just random [4] stuff with [56] random nums [000]" ;
$clean = preg_replace("/(\[[0-9]+\])/", "", $str) ;
echo $clean ; //Outputs: Just random stuff with random nums
?>从数据库中获取数据并进行替换。
或者,您可以只编写一个脚本来修改您的数据库值:使用SELECT获取标识符和字符串。然后执行替换。使用UPDATE更新数据库中的表。
发布于 2013-02-17 08:32:19
如果是一次性的事情,你可以这样做:
将表转储到文件中mysqldump -u user -p dbname --no-create-info mytable > /tmp/mytabledump.sql
sed -e 's/\[\([0-9]*\)\]//g' mytabledump.sql > mytableclean.sql
sed do mysqldump -u user -p dbname --no-create-info mytable > /tmp/mytabledump.sqlsed -e 's/\[\([0-9]*\)\]//g' mytabledump.sql > mytableclean.sqlsed data mysql -u user -p dbname < /tmp/mytableclean.sql您可能需要对regexp进行一些调整。
https://stackoverflow.com/questions/14916042
复制相似问题