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