文字列の前後の半角スペース及び全角スペースを取り除く方法
これは 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以前はこちらのドキュメントをご参照ください。
関連情報として以下記事もご参照ください。