$Extract()

与えられた文字列の部分文字列を返します。

$EXTRACT()関数のフォーマット:

$E[XTRACT](expr[,intexpr1[,intexpr2]])

$EXTRACT() は、文字位置に基づいて文字列を操作するためのツールを提供しています。

UTF-8 モードで起動するmumpsプロセスの場合、$EXTRACTは、UTF-8 エンコードのような文字列の引数を解釈します。VIEW "BADCHAR" が有効で、それはユニコード標準の予約された範囲で文字を見つけた時 $EXTRACT() は実行時エラーを生成しますが、それは引数によって指定された範囲の後に入る文字を処理しません。$EXTRACT() の平行して動作が可能な関数が$ZEXTRACT()です。バイト指向の操作では$ZEXTRACT() を使用してください。詳細な情報については、 “$ZExtract()” を参照してください。

$EXTRACT() は、文字列の部分文字列をセットするために SETコマンドの等号 (=) の左側に使用することができます。この構文は、文字列内のそれぞれの部分を容易にメンテナンスが可能です。空白文字で埋められた値を右側に整えるために使用することができます。 SET $EXTRACTの詳細については、コマンドの章の “Set”を参照してください。

$EXTRACT()の例

例:

GTM>for i=0:1:3 write !,$extract("HI",i),"<"
<
H<
I<
<
GTM>

このループは、1番目と2番目の位置の"前"と文字列の"後"に、終了文字の位置と最初の文字位置を指定していない $EXTRACT() の結果を表示します。

例:

GTM>For i=0:1:3 write !,$extract("HI",1,i),"<"
<
H<
HI<
HI<
GTM>

このループは、1番目と2番目の位置の"前"と文字列の"後"に、開始文字の位置の 1 と最終の文字位置を指定されている $EXTRACT() の結果を表示します。

例:

GTM>zprint ^trim
trim(x)
    new i,j
    for i=1:1:$length(x) quit:" "'=$extract(x,i)
    for j=$length(x):-1:1 quit:" "'=$extract(x,j)
    quit $extract(x,i,j)
GTM>set str=" MUMPS "
GTM>write $length(str)
7
GTM>write $length($$^trim(str))
5
GTM>

この外部関数は、その引数から余分な先頭と末尾のスペースを削除するには、$EXTRACT() を使用しています。

inserted by FC2 system