$Piece()

1つ以上の文字で構成された指定された区切り文字によって、区切られた部分文字列を返します。Mでは、$PIECE() は論理レコードから論理フィールドを返します。

$PIECE関数のフォーマット:

$P[IECE](expr1,expr2[,intexpr1[,intexpr2]])

$PIECE()の例

例:

GTM>for i=0:1:3 write !,$piece("1 2"," ",i),"<"
<
1<
2<
<
GTM>

このループは、、区切り文字としてスペース、部分文字列の位置の "前"の文字、1番目と2番目の文字、そして、"後" の文字を指定して、$PIECE() の結果を表示します。

例:

GTM>for i=-1:1:3 write !,$piece("1 2"," ",i,i+1),"<"
<
1<
1 2<
2<
<
GTM>

この例では、それぞれの繰り返しで、2つの部分文字を表示することを除いて、前の例と似ています。両方の部分文字を表示する3番目の繰り返しにおいて出力の途中に区切り文字(スペース)に注意してください。

例:

for p=1:1:$length(x,"/") write ?p-1*10,$piece(x,"/",p)

この例では、カラムフォーマットで、x のすべての部分文字を表示するために $LENGTH() と $PIECE() を使用しています。

例:

GTM>set $piece(x,".",25)="" write x
........................

これは、ピリオドの区切り文字で、変数 x の25番目をnullにSETします。これは、null に続く24個のピリオドの文字列を生成します。

例:

GTM>set ^x=1,$piece(^a,";",3,2)=^b

この例では、グローバル ^b で示されたネイキッドインジケータを残します。

inserted by FC2 system