MAXSTR |
str MAXSTR(
str 文字列式
[, str 文字列式]*)
引数の中で最大の文字列
|
MINSTR |
str MINSTR(
str 文字列式
[, str 文字列式]*)
引数の中で最小の文字列
|
LONGEST |
str LONGEST(
str 文字列式
[, str 文字列式]*)
引数の中で文字数が最も多い文字列。文字数が同じ場合は最初に現れたものを返す。
|
SHORTEST |
str SHORTEST(
str 文字列式
[, str 文字列式]*)
引数の中で文字数が最も少ない文字列。文字数が同じ場合は最初に現れたものを返す。
|
WIDE |
str WIDE(
str 文字列式
[, str 文字列式]*)
引数の中で半角換算した幅が最も広い文字列。幅が同じ場合は最初に現れたものを返す。
|
NARROW |
str NARROW(
str 文字列式
[, str 文字列式]*)
引数の中で半角換算した幅が最も狭い文字列。幅が同じ場合は最初に現れたものを返す。
|
LEFT |
str LEFT(
str 文字列式 , num 文字数 )
文字列式の値の先頭から文字数分だけ取り出す。
文字列の長さを越えた場合は文字列をそのまま取り出す。
|
RIGHT |
str RIGHT(
str 文字列式 , num 文字数 )
文字列式の値の末尾から文字数分だけ取り出す。
文字列の長さを越えた場合は文字列がそのまま取り出す。
|
MID |
str MID(
str 文字列式
, num 位置
[, num 文字数] )
文字列のまん中を取り出す。
指定の位置から、指定の文字数分だけ取り出す。
文字数が省略された場合は、指定の位置以降のすべての文字列を取り出す。
文字列の位置は左端を0として表わすので注意すること。
|
POS |
num POS(
str 文字列式
, num 開始位置
, num バイト幅
)
左側から数えてバイト幅に収まる位置(文字単位)を返す。数値。
開始位置は左端から数えた文字単位での値。0を与えれば、先頭から調べる。 |
POSRIGHT |
num POSRIGHT(
str 文字列式
, num 開始位置
, num バイト幅
)
右側から数えてバイト幅に収まる位置を返す。数値。
開始位置は左端から数えた文字の開始。0が先頭。 文字列の長さ以上の値を与えると、文字列の末尾から調べる。 文字列の長さが解らないときに最後から調べるためには、この引数にオーバーフロー値(システム変数 ERROR )を入れると良い。
|
WIDTHIX |
num WIDTHIX(
str 文字列式
, num 開始位置
, num 終了位置
)
文字列の指定範囲のバイト幅。数値。
開始位置は左端から数えた文字の開始位置。0が先頭。 終了位置は調べる領域の次の位置。 |
LEFTBYTE |
str LEFTBYTE(
str 文字列式
, num バイト幅
)
文字列の左から指定のバイト幅に収まるように文字列を取り出す。
|
RIGHTBYTE |
str RIGHTBYTE(
str 文字列式
, num バイト幅
)
文字列の右から指定のバイト幅に収まるように文字列を取り出す。文字列値。
|
FIXWIDTH |
str FIXWIDTH(
str 対象文字列
, num バイト幅
)
文字列式の長さををバイト幅に左つめで合わせる。
足りない分は半角スペースで埋める。 |
FIXRIGHT |
str FIXRIGHT(
str 対象文字列
, num バイト幅
)
文字列の長さをバイト幅に右つめで合わせる。
足りない分は半角スペースで埋める。 |
SHORTEN |
str SHORTEN(
str 対象文字列
, num バイト幅
)
文字列を指定のバイト幅に左寄せでつめる。
文字列がバイト幅より短ければ、何もしない。 文字列がバイト幅より長い場合は、バイト幅に詰め合わせ、 右端に3-4文字の . が付加される。文字列のバイト幅が5文字より小さいと正しく動作しない。 |
SHORTEN_HEAD |
str SHORTEN_HEAD(
str 対象文字列
, num バイト幅
)
文字列を指定のバイト幅に右寄せでつめる。
文字列がバイト幅より短ければ、何もしない。 文字列がバイト幅より長い場合は、バイト幅に詰め合わせ、 左端に3-4文字の . が付加される。文字列のバイト幅が5文字より小さいと正しく動作しない。 |
SHORTEN_MID |
str SHORTEN_MID(
str 対象文字列
, num バイト幅
)
文字列を指定のバイト幅に中央を刈り込んで詰め合わせる。
文字列がバイト幅より短ければ、何もしない。 文字列がバイト幅より長い場合は、バイト幅に詰め合わせ、 文字列中央部に3-4文字の . が付加される。文字列のバイト幅が5文字より小さいと正しく動作しない。 |
INSERT |
str INSERT(
str 対象文字列
, str 挿入文字列
, num 挿入位置
)
対象文字列の指定位置に挿入文字列を挿入する。
挿入位置が対象文字列の長さよりも大きいときは、挿入文字列を追加する。
|
DELETE |
str DELETE(
str 対象文字列
, num 削除位置
, num 削除文字数
)
対象文字列の指定位置から削除文字数分だけ削除する。
|
DELETE_TAIL |
str DELETE_TAIL(
str 対象文字列
, num 削除文字数
)
対象文字列の後ろから削除文字数分だけ削除する。
|
CHANGE |
str CHANGE(
str 対象文字列
str 挿入文字列
, num 置換位置
, num 置換文字数
)
対象文字列の置換位置から削除文字数分を挿入文字列で置きかえる。
置換文字位置が対象文字列の長さ以上の場合は、文字列の追加となる。
挿入文字列が空の場合は、 DELETE 関数と同じ働きをし、
置換文字数が0の場合は、INSERT 関数と同じ働きとなる。
|
STRING |
str STRING(
str 対象文字列
, num 回数
)
文字列式を回数だけ繰り返して連結。
|
HEAD |
bool HEAD(
str 対象文字列
, str 検索文字列
)
対象文字列の先頭に検索文字列が含まれれば真。
|
TAIL |
bool TAIL(
str 対象文字列
, str 検索文字列
)
対象文字列の末尾に検索文字列が含まれれば真。
|
SRCHSTR |
num SRCHSTR(
str 対象文字列
, str 検索文字列
[
, num 開始位置
]
)
対象文字列の開始位置から順方向に探した最初の検索文字列の位置を返す。
開始位置を省略すると先頭から探す。 位置は0から数える。検索文字列を含まなければ値-1を返す。 |
SRCHSTR_REV |
num SRCHSTR_REV(
str 対象文字列
, str 検索文字列
)
対象文字列の末尾から逆方向に探した最初の検索文字列の位置を返す。
検索文字列が空ならば、対象文字列の長さを返す(末尾で一致したということ)。 位置は0から数える。検索文字列を含まなければ値-1を返す。 |
SRCHSTR_COUNT |
num SRCHSTR_COUNT(
str 対象文字列
, str 検索文字列
)
対象文字列の中に含まれる検索文字列の数を返す。
検索文字列が空ならば値-1を返す。 |
REPLACE |
str REPLACE(
str 対象文字列
, str 検索文字列
, str 置換文字列
)
対象文字列に含まれる検索文字列をすべて、置換文字列で置き換える。
検索文字列の長さが0の場合は置換を行わない。
置換文字列の長さが0ならば、長さ0の文字列と置き換え、すなわち、削除になる。
|
PART |
str PART(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
)
対象文字列から、先頭文字列と末尾文字列に挟まれた最初の文字列を取り出す。
先頭文字列の長さが0の場合は先頭から末尾文字列までの部分を取り出す。
末尾文字列の長さが0の場合は先頭文字列から末尾までの部分を取り出す。
|
PART_POS |
num PART_POS(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
[
, 長さ格納先変数名
]
)
対象文字列から、先頭文字列と末尾文字列に挟まれた最初の文字列を探し、
その文字単位での位置を返す。
長さ格納先変数名は、数値変数、あるいは、数値配列の要素で、 見つかった部分文字列の長さを格納する。これは、省略可能。 先頭文字列の長さが0の場合は先頭から末尾文字列まで部分が対象。 末尾文字列の長さが0の場合は先頭文字列から末尾までの部分が対象。 |
PART_COUNT |
num PART_COUNT(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
)
対象文字列から、先頭文字列と末尾文字列に挟まれた文字列の個数を返す。
先頭文字列の長さが0の場合は先頭から末尾文字列まで部分が対象。 末尾文字列の長さが0の場合は先頭文字列から末尾までの部分が対象。 |
MEANSTR |
str MEANSTR(
str 対象文字列
)
曖昧文字列に変換する。
|
MEANIN |
bool MEANIN(
str 対象文字列
, str 検索文字列
)
対象文字列が検索文字列を曖昧に含めば真。
|
ROT_RIGHT |
str ROT_RIGHT(
str 対象文字列
, num 回転数
)
文字列を右へ回転する。回転数が極端に大きすぎると回転しない。
|
ROT_LEFT |
str ROT_LEFT(
str 対象文字列
, num 回転数
)
文字列を左へ回転する。回転数が極端に大きすぎると回転しない。
|
REVERSE |
str REVERSE(
str 文字列式
)
文字列式を逆順にする
|
QUOTE |
str QUOTE(
str 対象文字列
)
ダブルクォート
" で囲む。
文字列内部にあるダブルクォート" は"" になる。
|
QUOTE_S |
str QUOTE_S(
str 対象文字列
)
シングルクォート
' で囲む。
文字列内部にあるシングルクォート' は'' になる。
|
DEQUOTE |
str DEQUOTE(
str 対象文字列
)
ダブルクォート
" で囲まれた文字列のダブルクォートを外す。
文字列内部にある"" は" になる。
先頭に" がない場合は変換しない。
出来るだけ解釈するが、正常な記述でない場合はうまく行かない。
|
DEQUOTE_S |
str DEQUOTE_S(
str 対象文字列
)
シングルクォート
' で囲まれた文字列のシングルクォートを外す。
文字列内部にある'' は' になる。
先頭に' がない場合は変換しない。
出来るだけ解釈するが、正常な記述でない場合はうまく行かない。
|
CUTHEAD |
str CUTHEAD(
str 対象文字列
)
対象文字列の先頭の半角スペース、全角スペースを省く。
|
CUTTAIL |
str CUTTAIL(
str 対象文字列
)
対象文字列の末尾の半角スペース、全角スペースを省く。
|
CUTSP |
str CUTSP(
str 対象文字列
)
対象文字列の先頭と末尾の半角スペース、全角スペースを省く。
|
CONVCHR |
str CONVCHR(
str 対象文字列
, str 検索文字列
, str 置換文字列
)
文字変換。文字列式を返す。
対象文字列の中の文字のうち、検索文字列の中に含まれるものを、 それに対応する置換文字列の中の文字と置き換える。 検索文字列の中に文字が 重複してある場合は先頭の方にあるものが優先する。 検索文字列の中にある文字で対応する文字が置換文字列にない場合は、削除される。 検索文字列に対応しない置換文字列の中の文字は無視する。 |
MASKCHR |
str MASKCHR(
str 対象文字列
, str 検索文字列
)
文字列マスク処理。
対象文字列の中の文字のうち、検索文字列の中に含まれ無い文字を取り除く。 |
FULL |
str FULL(
str 対象文字列
)
半角文字を全角文字に変換する。濁点、半濁点の処理を行う。
半角カタカナは全角カタカナに変換する。
|
FULL2 |
str FULL2(
str 対象文字列
)
半角文字を全角文字に変換する。濁点、半濁点の処理を行わない。
|
HALF |
str HALF(
str 対象文字列
)
全角文字を半角文字にする。
|
KANA_PACK |
str KANA_PACK(
str 対象文字列
)
全角の濁点、半濁点を詰め合わせる。
|
HIRAGANA |
str HIRAGANA(
str 対象文字列
)
全角カタカナをひらがなに置き換える。
|
KATAKANA |
str KATAKANA(
str 対象文字列
)
全角ひらがなをカタカナに置き換える。
|
LARGE |
str LARGE(
str 対象文字列
)
半角英字、全角英字、ギリシャ文字、ロシア文字を大文字にする。
|
SMALL |
str SMALL(
str 対象文字列
)
半角英字、全角英字、ギリシャ文字、ロシア文字を小文字にする。
|
LARGE_ENG |
str LARGE_ENG(
str 対象文字列
)
半角英字を大文字にする。
|
SMALL_ENG |
str SMALL_ENG(
str 対象文字列
)
半角英字を小文字にする。
|
REJECT_FULL |
str REJECT_FULL(
str 対象文字列
)
全角文字を取り除く。
|
REJECT_HALF |
str REJECT_HALF(
str 対象文字列
)
半角文字を取り除く。
|
REJECT_CTRL |
str REJECT_CTRL(
str 対象文字列
)
制御文字を取り除く。通常は使用しない。
|
REJECT_SPACE |
str REJECT_SPACE(
str 対象文字列
)
全角、半角のスペースを取り除く。
|
REJECT_JPN |
str REJECT_JPN(
str 対象文字列
)
半角のカタカナ(0x80-0xff)を取り除く。
|
REJECT_ENG |
str REJECT_ENG(
str 対象文字列
)
半角の英字領域(0x20-0x7e)を取り除く。
|
FILTER_ENG |
str FILTER_ENG(
str 対象文字列
)
半角の英字領域(0x20-0x7e)だけを残す。
|
FILTER_AN |
str FILTER_AN(
str 対象文字列
)
半角の英数字だけを残す。
|
FILTER_ALPHA |
str FILTER_ALPHA(
str 対象文字列
)
半角の英字だけを残す。
|
FILTER_NUM |
str FILTER_NUM(
str 対象文字列
)
半角の数字だけを残す。
|
STR_LOOP |
bool STR_LOOP(
str 対象文字列
[
, 対象文字列
]*
;
実行式
[
, 実行式
]*
)
対象文字列の全てに対して、実行式を繰り返す。戻り値は常に真。
着目中の文字列は、実行式の中で変数 MEMBER で参照できる。
|
STR_LOOP_COUNT |
num STR_LOOP_COUNT(
str 対象文字列
[
, 対象文字列
]*
;
bool 検定式
)
対象文字列の全てに対して、検定式を繰り返し、検定式が真となった数を返す。
着目中の文字列は、検定式の中で変数 MEMBER で参照できる。
|
STR_LOOP_SRCH |
str STR_LOOP_SRCH(
str 対象文字列
[
, 対象文字列
]*
;
bool 検定式
)
対象文字列の全てに対して、検定式を順に繰り返し、検定式が真となった対象文字列を返す。
着目中の文字列は、検定式の中で変数 MEMBER で参照できる。
対象文字列の評価(値の確定)は最初に行われるが、
検定式は、真となった時点で終了する。
以降の検定式の評価は行わない。
|
SRCHSTR_LOOP |
bool SRCHSTR_LOOP(
str 対象文字列
, str 検索文字列
, 実行式
[
, 実行式
]*
)
対象文字列の中に含まれる検索文字列すべてに対して実行式を評価する。
検索文字列が空の場合は何もせず、偽を返す。それ以外では真を返す。 |
SRCHSTR_REPLACE |
str SRCHSTR_REPLACE(
str 対象文字列
, str 検索文字列
, str 置換式
)
対象文字列の中に含まれる検索文字列すべてに対して置換式を評価し、
その値で置き換える。
検索文字列が空の場合は何もせず対象文字列を返す。 |
PART_LOOP |
bool PART_LOOP(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
, 実行式
[
, 実行式
]*
)
対象文字列から、先頭文字列と末尾文字列に挟まれた文字列のすべてに対し、
実行式を評価する。戻り値は常に真。
実行式内では、挟まれた文字列を特殊な変数 MEMBER で参照できる。
先頭文字列の長さが0の場合は先頭から末尾文字列まで部分が対象。
末尾文字列の長さが0の場合は先頭文字列から末尾までの部分が対象。
|
PART_LOOP2 |
bool PART_LOOP2(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
, 実行式
[
, 実行式
]*
)
PART_LOOP 関数とほぼ同じ動作をするが、
実行式内で、特殊な変数MEMBER で参照するのは、
「先頭文字列+挟まれた文字列+末尾文字列」になっている点が違う。
|
PART_REPLACE |
str PART_REPLACE(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
, str 置換式
)
対象文字列から先頭文字列と末尾文字列で挟まれた部分を全て取り出し、
置換式を評価してその値と置きかえた文字列を返す。
置換式内では、着目中の文字列を特殊な変数 MEMBER で参照できる。
|
PART_REPLACE2 |
str PART_REPLACE2(
str 対象文字列
, str 先頭文字列
, str 末尾文字列
, str 置換式
)
PART_REPLACE と同様な動作をするが、以下の点が異なる。
|
リスト処理関数の多くは、セパレータを空文字列にすると、 文字列を構成する各文字をメンバーとして扱うので文字列処理に流用できる。
LIST
LIST_INC_STR
LIST_EXC_STR
LIST_LOOP
LIST_LOOP_FILTER
LIST_LOOP_REPLACE
LIST_LOOP_AND
LIST_LOOP_OR
LIST_LOOP_SRCH