文字列ユーティリティ

%TRIM

%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

%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"
inserted by FC2 system