不明な量の括弧付き数字を含む大きな 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
?>
データベースからデータを取得し、置換を行います。
または、データベースの値を変更するスクリプトを作成することもできます: Fetch identificators and strings with SELECT
. その後、交換を行ってください。を使用して、データベース内のテーブルを更新しますUPDATE
。
1回限りの場合は、次のことができます。
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
正規表現を少し調整する必要があるかもしれません。