文字列の前後の半角スペース及び全角スペースを取り除く方法
これは InterSystems FAQ サイトの記事です。
$ZSTRIP() 関数を使用します。
この関数を使用すると、指定文字列から、文字のタイプと文字を削除できます。
下記の例のように、第2引数で、"<"、">"、"<>"を指定することにより、SQLのLTRIM、RTRIM、TRIM関数と同等の処理が可能になります。
// アクションコード "<>" を指定すると前後の空白を削除する // マスクコード:W で空白 ($C(9), $C(32), $C(160)) を削除する // 第3引数(全角スペース)は $C($ZHEX("3000")) でも指定可能 USER>Set a=" 全角 ・半角 スペースを含む文字列 " USER>Set b=$ZSTRIP(a,"<>W"," ") USER>Write "["_b_"]" [全角 ・半角 スペースを含む文字列] USER>Set c=$ZSTRIP(a,"*W"," ") // アクションコード "*" を指定すると全ての空白を削除する USER>Write "["_c_"]" [全角・半角スペースを含む文字列] USER>
※上記実行例コメントの、$ZHEX("3000")は16進数の3000のことで、Unicodeでの全角スペースの文字コードです。
$ZSTRIP()関数の引数詳細については、ドキュメントをご参照ください。
バージョン2018.1以前はこちらのドキュメントをご参照ください。
関連情報として以下記事もご参照ください。