我有一个带有未知数量的括号数字的大型 MYSQL 表。
例如:“现在地球 [1] 无形和空虚......”
该号码最多可以是 3 位数字。
当我不知道数字是什么时,是否可以编写一个同时删除括号和数字的查询?
试试这个,希望它可以帮助你:
<?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
。
如果这是一次性的事情,您可以执行以下操作:
mysqldump -u user -p dbname --no-create-info mytable > /tmp/mytabledump.sql
sed
做你的替代品sed -e 's/\[\([0-9]*\)\]//g' mytabledump.sql > mytableclean.sql
mysql -u user -p dbname -e "TRUNCATE TABLE mytable;"
mysql -u user -p dbname < /tmp/mytableclean.sql
您可能需要稍微调整一下正则表达式。