指定した1文字を削除する方法として、今回は「COMPRESS関数」または「KCOMPRESS関数」を使ってみます。
これら関数は空白を削除するためのものと思われがちですが、実はそれだけじゃなく非常に奥が深い関数です。
たとえば、上の変数X から「<」または「>」の1文字をそれぞれ削除したいとします。
まず以下の通り、取り扱う変数値・文字値の種類によって、関数を使い分けます。
・COMPRESS ・・・ シングルバイトのみの場合(半角英数など)
・KCOMPRESS ・・・ マルチバイトを含む場合(日本語などの全角文字など)
・KCOMPRESS ・・・ マルチバイトを含む場合(日本語などの全角文字など)
使い方
① 削除したい1文字を第2引数に列挙します。
例えば「a」または「b」という1文字を削除したい場合は「"ab"」と指定します。
例)compress( 変数 , "ab" )
② 以下のリンク記事で解説してる通り、日本語などのマルチバイト文字が含まれる場合は結果がバグってしまう事があるので、KCOMPRESS関数を使用しましょう。
関数の落とし穴
たとえば「a」または「b」を削除する、、のではなく「ab」を削除する。みたいな事をしたい場合は、以下記事の最後の方で紹介してるので、参考までに。
文字列の置換をするTRANWRD vs TRANSTRN関数
0 件のコメント:
コメントを投稿