TRIM - 先頭と末尾の文字を削除
TRIM 関数は、文字列内のあるパターンの先頭と末尾の文字を削除します。
先頭と末尾の文字を削除
TRIM(trim_where, source_string, length, pattern, sublength, output)
trim_where
文字
次のオプションのいずれかを選択して、削除するパターンの位置を指定します。
L - 先頭の文字を削除します。
T - 末尾の文字を削除します。
B - 先頭と末尾の両方の文字を削除します。
source_string
文字
先頭または末尾の文字を削除する文字列です。文字列は一重引用符 (') で囲みます。文字列を含むフィールドを指定することもできます。
length
整数
source_string のバイト数です。
pattern
文字
削除する文字列パターンです。文字列は一重引用符 (') で囲みます。
sublength
整数
pattern のバイト数です。
output
文字
結果が返されるフィールド、または出力値のフォーマットです。フォーマットは一重引用符 (') で囲みます。
先頭文字を削除
TRIM 関数は、DIRECTOR の先頭の BR を削除し、結果を A17 フォーマットのフィールドに格納します。
TABLE FILE MOVIES
PRINT DIRECTOR AND
COMPUTE
TRIMDIR/A17 = TRIM('L', DIRECTOR, 17, 'BR', 2, 'A17');
WHERE DIRECTOR CONTAINS 'BR'
END
出力結果は次のとおりです。
DIRECTOR TRIMDIR -------- ------- ABRAHAMS J. ABRAHAMS J. BROOKS R. OOKS R. BROOKS J.L. OOKS J.L.
末尾文字を削除
TRIM 関数は、TITLE から末尾文字「ER」を削除します。末尾のブランク以外の文字を適切に削除するためには、まず末尾のブランクを削除する必要があります。TITLE フィールドの末尾にはブランクが含まれているため、TRIM 関数は TRIMT フィールドの作成時に文字列「ER」を削除しません。一方、SHORT フィールドの末尾にはブランクが含まれていないため、TRIM 関数は TRIMS フィールドの作成時に末尾文字列「ER」を削除することができます。
DEFINE FILE MOVIES
SHORT/A19 = SUBSTR(19, TITLE, 1, 19, 19, SHORT);
END
TABLE FILE MOVIES
PRINT TITLE IN 1 AS 'TITLE: '
SHORT IN 40 AS 'SHORT:'OVER
COMPUTE
TRIMT/A39 = TRIM('T', TITLE, 39, 'ER', 2, 'A39'); IN 1 AS 'TRIMT: '
COMPUTE
TRIMS/A19 = TRIM('T', SHORT, 19, 'ER', 2, 'A19'); IN 40 AS 'TRIMS: '
WHERE TITLE LIKE '%ER'
END
出力結果は次のとおりです。
TITLE: LEARN TO SKI BETTER SHORT: LEARN TO SKI BETTER TRIMT: LEARN TO SKI BETTER TRIMS: LEARN TO SKI BETT TITLE: FANNY AND ALEXANDER SHORT: FANNY AND ALEXANDER TRIMT: FANNY AND ALEXANDER TRIMS: FANNY AND ALEXAND