UWSC|文字列操作あれこれ~自作関数mid、left、right、len

ポク太郎です。

とりあえず始めたUWSC奮闘記。新環境で始めるので、最初は準備。

UWSCのリファレンスで文字列操作の関数を見てみると、
   R=COPY(文字列,n1,n2)
とすると、Rには文字列のn1番目からn2個取り出したものが代入される、らしい。

また、
   R=LENGTH(文字列)
とすると、Rには渡された文字列の文字数が代入される、らしい。

うーん。文字列操作はやはりBASIC言語の仕様が一番分かりやすいと思うので、自作関数でそっちに翻訳→下の関数群を作ります。関数の文字数を少なくしただけのものもありますが。


mid関数

FUNCTION mid(txt,n1,n2)
    RESULT=COPY(txt,n1,n2)
FEND
mid関数
1,3行目 1
3
FUNCTION mid(txt,n1,n2)
FEND
関数の定義:文字列のn1番目からn2個取り出す-COPYと同じ関数(標準関数を翻訳しただけ)
2行目 2     RESULT=COPY(txt,n1,n2)
RESULTにはtxtのn1番目からn2個が代入され、関数の戻り値として返す。
※COPY(文字列,n1,n2)は渡された文字列のn1番目からn2番目を返す関数。
※UWSCでは、固定変数RESULTに代入されたものが関数の戻り値になる。



呼び出し側で、

S=mid("Pokutarou",3,4)

とすると、変数Sには”kuta(3文字目から4つ)が代入される。

left関数

FUNCTION left(txt,n)
    RESULT=COPY(txt,1,n)
FEND
left関数
1,3行目 1
3
FUNCTION left(txt,n)
FEND
関数の定義:左からn文字分を取り出す。
2行目 2     RESULT=COPY(txt,1,n)
RESULTにはtxtの1番目からn個(つまり左からn個)が代入され、関数の戻り値として返す。



呼び出し側で、

S=left("Pokutarou",4)

とすると、変数Sには”Poku(左から4つ)が代入される。

right関数

FUNCTION right(txt,n)
    RESULT=COPY(txt,LENGTH(txt)-n+1,n)
FEND
right関数
1,3行目 1
3
FUNCTION right(txt,n)
FEND
関数の定義:右からn文字分を取り出す。
2行目 2     RESULT=COPY(txt,LENGTH(txt)n+1,n)
RESULTにはtxtの(LENGTH(txt)-n+1)番目からn個(つまり右からn個)が代入され、関数の戻り値として返す。
※LENGTH(文字列)は渡された文字列の文字数を返す関数。



呼び出し側で、

S=right("Pokutarou",5)

とすると、変数Sには”tarou(右から5つ)が代入される。

len関数

FUNCTION len(txt)
    RESULT=LENGTH(txt)
FEND
len関数
1,3行目 1
3
FUNCTION len(txt)
FEND
関数の定義:文字数nを返す。
2行目 2     RESULT=LENGTH(txt)
RESULTにはtxtの文字数が代入され、関数の戻り値として返す。
※LENGTH(文字列)は渡された文字列の文字数を返す関数。



呼び出し側で、

Intg=len("Pokutarou")

とすると、変数Intgには9(文字数)が代入される。

文字列関連の話題
文字列操作あれこれMID、LEFT、RIGHT、LEN 文字列中に指定ワードあるなし判定関数 現在のタイムスタンプ文字列を返す関数 カンマ等で区切られたフィールドデータを扱う関数
本記事の内容は以下でした。
○文字列操作の関数群

コメント

タイトルとURLをコピーしました