%TRIMユーティリティは、文字列から先頭と末尾の空白(空白とタブ)を削除します。直接モードで%TRIMユーティリティを使用するか、ソース・アプリケーション・プログラムに次の形式で含めることができます。
$$FUNC^%TRIM(exp)
また、コマンドラインユーティリティとして%TRIMを使用して、STDINから読み込み、STDOUTに次の形式で書き込むこともできます。
%XCMD 'do ^%TRIM'
ユーティリティのラベル
以下のラベルは、%TRIMのバリエーションを外部関数として呼び出します。
FUNC(s):引数から先頭と末尾の空白を削除した後に文字列を返します。
L(s):引数から先頭の空白を削除した後の文字列を返します。
R(s):引数から末尾の空白を削除した後の文字列を返します。
例:
GTM>set strToTrim=$char(9,32)_"string with spaces and tabs"_$char(32,32,32) write $length(strToTrim) 36 GTM>write "strToTrim=",?24,"""",strToTrim,"""",!,"$$L^%TRIM(strToTrim)=",?24,"""",$$L^%TRIM(strToTrim),"""",!,"$$R^%TRIM(strToTrim)=",?24,"""",$$R^%TRIM(strToTrim),"""",!,"$$FUNC^%TRIM(strToTrim)=",?24,"""",$$FUNC^%TRIM(strToTrim),"""" strToTrim= " string with spaces and tabs " $$L^%TRIM(strToTrim)= "string with spaces and tabs " $$R^%TRIM(strToTrim)= " string with spaces and tabs" $$FUNC^%TRIM(strToTrim)="string with spaces and abs"
この例では、外部関数として%TRIMを呼び出し、そのL, R, FUNCラベルの使用法を示しています。
例:
$ echo " GT.M Rocks!" | gtm -r %XCMD 'do ^%TRIM' GT.M Rocks! $
この例では、STDINを読み取り、トリムされた出力をSTDOUTに書き込むコマンドラインユーティリティとして%TRIMを呼び出します。
%MPIECEユーティリティーは、第1引数の第2引数の連続した1つ以上の出現を、第3引数の1つの出現で置き換えます。これにより、$PIECEはUNIX awkのような結果の文字列に対して動作します。
%MPIECEユーティリティをダイレクトモードで使用するか、ソース・アプリケーション・プログラムに次の形式で含めることができます:
$$^%MPIECE(str,expr1,expr2)
expr1とexpr2が指定されていない場合、%MPIECEはexpr1を1つ以上の空白の連続したものとみなし、expr2を1つのスペースとみなします。
%MPIECEは、結果からexpr1の先頭に出現するものをすべて削除します。
ユーティリティのラベル
$$SPLIT^%MPIECE(str,expr1):%MPIECEをexpr1によって分割された文字列のエイリアスローカル配列を返す外部関数として呼び出します。expr1が指定されていない場合、MPIECEはexpr1を1つ以上の空白の連続した出現とみなします。
例:
GTM>set strToSplit=" please split this string into six" GTM>set piecestring=$$^%MPIECE(strToSplit," ","|") zwrite strToSplit,piecestring write $length(piecestring,"|") strToSplit=" please split this string into six" piecestring="please|split|this|string|into|six 6 GTM>set *fields=$$SPLIT^%MPIECE(strToSplit) zwrite fields fields(1)="please" fields(2)="split" fields(3)="this" fields(4)="string" fields(5)="into" fields(6)="six"