FILTERLINESファンクションは、作成したフィルタ式を複数行のテキスト式の各行に適用します。
戻り値
TEXTまたはNTEXT
このファンクションでは、TEXT値とNTEXT値を引数として使用できます。戻り値のデータ型は、引数として指定する値のデータ型によって次のように異なります。
すべての引数がTEXT値である場合、戻り値はTEXTです。
すべての引数がNTEXT値である場合、戻り値はNTEXTです。
引数にTEXTとNTEXTの両方の値が存在する場合は、すべてのTEXT値がNTEXT値に変換されてからファンクションの演算が実行され、戻り値はNTEXTになります。
パラメータ
filter-expressionに従って各行が変更される複数行のテキスト式。
source-expressionの各行に対してフィルタとして適用される式。フィルタ式の語は、ソース式の各行に対してFILTERLINESが実行する処理を指定します。
フィルタ式によってNA
が生成されることがありますが、これはソース式の現行の行に対応する行が結果のテキスト式にないことを示します。
フィルタ式にVALUEキーワードを使用して、ソース式の現行の行を表すことができます。
使用上の注意
FILTERLINESの結果
FILTERLINESは、ソース式の各行に対するフィルタ式のアクションの結果である行で構成されるテキスト式を返します。フィルタ式は、入力ソース行のいずれかまたはすべてに対する複数行のテキストを返すことがあります。これらの行はフィルタ式によって再度処理されません。
例
例7-94 ファイル名からの拡張子の削除
次の例は、ファイル名のリストに対してFILTERLINESを使用して、拡張子のない同じファイル名のリストを生成します。
評価されるfilelist
という名前の複数行のテキスト変数は、次のとおりです。
myfile1.txt file2.txt myfile3 file4.txt
次の文
SHOW FILTERLINES(FILELIST - IF FINDCHARS(VALUE '.') GT 0 - THEN EXTCHARS(VALUE 1 FINDCHARS(VALUE '.') -1) - ELSE VALUE)
によって、次の出力が生成されます。
myfile1 file2 myfile3 file4