文字列の中から数値だけを抜き出す方法
これは InterSystems FAQ サイトの記事です。
$ZSTRIPコマンドは、指定された文字列から文字のタイプと文字を削除します。
このコマンドを使用することで文字列から数値部分のみを抽出することが可能です。
$ZSTRIP(string,action,remchar,keepchar)
第1引数(string) :対象文字列
第2引数(action) :string から削除する対象。アクションコードとマスクコードで構成。
第3引数(remchar) :削除する特定の文字を指定。第2引数のマスクコードに含まれない文字も指定可能。【オプション】
第4引数(keepchar):削除しない特定の文字を指定。【オプション】
以下はその例です。
// 第4引数:.0123456789- を削除しない
USER>write $zstrip("ABC-0.100g","*E",,".0123456789-")
-0.100
★マスクコード
----------------------------------------------------
E すべてを削除します
A すべてのアルファベット文字を削除します
P 空白スペースと、句読記号文字を削除します
C 制御文字 (0-31、127-159) を削除します
N 数字を削除します
L アルファベットの小文字を削除します
U アルファベットの大文字を削除します
W 空白を削除します ($C(9)、$C(32)、$C(160))
----------------------------------------------------
★アクションコード
----------------------------------------------------
* マスク・コード (複数可) に一致するすべての文字を削除します
< マスク・コード (複数可) に一致する先頭の文字を削除します
> マスク・コード (複数可) に一致する末尾の文字を削除します
<> マスク・コード (複数可) に一致する先頭および末尾の文字を削除します
= マスク・コード (複数可) に一致する繰り返し文字を削除します
<=> マスク・コード (複数可) に一致する先頭、末尾、および繰り返し文字を削除します
----------------------------------------------------
$ZSTRIPの詳しい使用方法については、以下のドキュメントをご覧ください。
$ZSTRIPについて
以下の関連トピックもあわせてご覧ください。
文字列の前後の半角スペース及び全角スペースを取り除く方法