レガシー関数と推奨関数(文字列置換)

2024年3月23日テクニカルメモ

この記事では、文字列置換処理において古いバージョンの関数を利用した場合と、新しいバージョンの関数を利用した場合のサンプルを記載しています。

REPLACE 関数

REPLACE 関数は、WebFOCUS 8.2 以降で登場した推奨関数(新しい関数)になります。

関数の使い方

REPLACE(対象の文字項目名や文字列 , '置換前の文字列’ , '置換後の文字列’)

サンプルプロシジャ

REGION項目内の「east」という文字を「東」に置換するREPLACE関数のサンプルです。

SET PAGE-NUM = NOLEAD
DEFINE FILE GGSALES
 REPTXT/A11=REPLACE( REGION , 'east' , '東');
END
 
TABLE FILE GGSALES
PRINT 
 DST.REGION AS '元'
 DST.REPTXT AS '置換後'
END
出力結果イメージ

STRREP 関数

STRREP 関数は、WebFOCUS 7.1.3 以降で登場したレガシー関数になります。

関数の使い方

STRREP( 対象の文字項目名や文字列の長さ , 対象の文字項目名や文字列
, 置換前の文字列の長さ , '置換前の文字列’
, 置換後の文字列の長さ , '置換後の文字列’
, 文字項目全体の長さ , 'An’)

※An は文字項目全体の長さを格納できるフォーマット

サンプルプロシジャ

REGION項目内の「east」という文字を「東」に置換するSTRREP関数のサンプルです。

SET PAGE-NUM = NOLEAD
DEFINE FILE GGSALES
 REPTXT/A11=STRREP( 11, REGION , 4, 'east' , 1, '東', 11, 'A11');
END
 
TABLE FILE GGSALES
PRINT 
 DST.REGION AS '元'
 DST.REPTXT AS '置換後'
END

結果イメージは、上図のREPLEACE関数の結果と同じです。