MySQLのTRIM関数で文字列から接頭辞・接尾辞をまとめて削除する方法
MySQLのTRIM()関数を使用すると、文字列から接頭辞(プレフィックス)や接尾辞(サフィックス)、あるいはその両方を一度に削除できます。この関数はデータクレンジングや不要な文字の除去など、日常的なデータベース操作で非常に役立ちます。まずは構文を確認して、動作の仕組みを理解しましょう。
構文
TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)各引数の意味は次のとおりです。
- BOTH:文字列の左側(先頭)と右側(末尾)の両方から指定した文字列を削除します。
- LEADING:先頭にある接頭辞のみを削除します。
- TRAILING:末尾にある接尾辞のみを削除します。
- str_to_remove:削除対象となる文字列を指定します。
- string:処理の対象となる元の文字列を指定します。
なお、BOTH / LEADING / TRAILING および str_to_remove を省略した場合、TRIM()はデフォルトで文字列の前後にある半角スペースを削除することにも注意してください。
使用例
例1:BOTHで両端の「0」を削除する
mysql> Select TRIM(BOTH '0' FROM '0100'); +----------------------------+ | TRIM(BOTH '0' FROM '0100') | +----------------------------+ | 1 | +----------------------------+ 1 row in set (0.00 sec)
先頭と末尾にあった「0」が削除され、「1」だけが残りました。
例2:BOTHで両端の「AB」を削除する
mysql> Select TRIM(BOTH 'AB' FROM 'ABCDAB'); +-------------------------------+ | TRIM(BOTH 'AB' FROM 'ABCDAB') | +-------------------------------+ | CD | +-------------------------------+ 1 row in set (0.00 sec)
「ABCDAB」から両端の「AB」が取り除かれ、「CD」という結果が得られます。
例3:TRAILINGで末尾の「AB」だけを削除する
mysql> Select TRIM(Trailing 'AB' FROM 'ABCDAB'); +-----------------------------------+ | TRIM(Trailing 'AB' FROM 'ABCDAB') | +-----------------------------------+ | ABCD | +-----------------------------------+ 1 row in set (0.00 sec)
末尾の「AB」のみが削除され、先頭の「AB」はそのまま残って「ABCD」となります。
例4:LEADINGで先頭の「AB」だけを削除する
mysql> Select TRIM(Leading 'AB' FROM 'ABCDAB'); +----------------------------------+ | TRIM(Leading 'AB' FROM 'ABCDAB') | +----------------------------------+ | CDAB | +----------------------------------+ 1 row in set (0.00 sec)
今度は先頭の「AB」だけが削除され、「CDAB」という結果になります。
まとめ
TRIM()関数では、BOTH・LEADING・TRAILING の3つのキーワードを使い分けることで、削除する位置を柔軟に制御できます。特定の文字列を繰り返し除去したい場合は、UPDATE文と組み合わせてテーブル内のデータを一括クリーニングすることも可能なので、ぜひ活用してみてください。
-
【Java】replaceAll()メソッドと正規表現で文字列からHTMLタグを削除する方法
JavaにおけるStringクラスはfinal修飾子が付いた不変(イミュータブル)なクラスです。これは、一度生成されたStringオブジェクト自体は変更できないことを意味しますが、変数が参照するオブジェクトを別のインスタンスに差し替えることは可能です。 文字列からHTMLタグを取り除くには、StringクラスのreplaceAll()メソッドを使用します。このメソッドに正規表現を指定することで、「<」と「>」で囲まれたタグ部分を空文字列に置き換えられます。処理後の文字列は、プレーンなテキストとして返されます。 replaceAll()メソッドの構文 public String re
-
Pythonの文字列からANSIエスケープシーケンスを削除する方法
Pythonの文字列からANSIエスケープシーケンスを削除する方法ターミナル上でテキストに色をつける際などに使われるANSIエスケープシーケンスは、ログファイルやコマンドの出力結果に混入すると、文字列の処理や解析の妨げになることがあります。Pythonでは、正規表現(regex)を使うことで、こうしたエスケープシーケンスを簡単に取り除けます。手順はシンプルで、reモジュールのre.sub()関数を使い、エスケープシーケンスにマッチした部分を空文字列()に置き換えるだけです。ANSIエスケープシーケンスを削除するための正規表現以下の正規表現パターンが、ANSIエスケープシーケンスの検出と削除に利