Sap-abap-strings
提供:Dev Guides
SAP ABAP-文字列
ABAPプログラミングで広く使用されている*文字列*は、一連の文字です。
データ型Cの変数を使用して、英数字を保持します。最小1文字、最大65,535文字です。 デフォルトでは、これらは左に揃えられます。
文字列を作成する
次の宣言と初期化により、「Hello」という単語で構成される文字列が作成されます。 文字列のサイズは、単語「Hello」の文字数とまったく同じです。
Data my_Char(5) VALUE 'Hello'.
次のプログラムは、文字列を作成する例です。
REPORT YT_SEP_15.
DATA my_Char(5) VALUE 'Hello'.
Write my_Char.
上記のコードは、次の出力を生成します-
Hello
ストリングの長さ
文字列の長さを調べるには、* STRLENステートメント*を使用できます。 STRLEN()関数は、文字列に含まれる文字数を返します。
例
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
length_1 TYPE I.
length_1 = STRLEN( title_1 ).
Write:/'The Length of the Title is:', length_1.
上記のコードは、次の出力を生成します-
The Length of the Title is: 9
ABAPは、文字列を操作する幅広いステートメントをサポートしています。
S.No. | Statement & Purpose |
---|---|
1 |
CONCATENATE 2つの文字列が結合されて、3番目の文字列が形成されます。 |
2 |
CONDENSE このステートメントは、スペース文字を削除します。 |
3 |
STRLEN フィールドの長さを見つけるために使用されます。 |
4 |
REPLACE 文字を置換するために使用されます。 |
5 |
SEARCH 文字列で検索を実行します。 |
6 |
SHIFT 文字列の内容を左右に移動するために使用します。 |
7 |
SPLIT フィールドの内容を2つ以上のフィールドに分割するために使用されます。 |
次の例では、上記のステートメントのいくつかを利用しています-
例
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'Tutorials',
title_2(10) VALUE 'Point',
spaced_title(30) VALUE 'Tutorials Point Limited',
sep,
dest1(30),
dest2(30).
CONCATENATE title_1 title_2 INTO dest1.
Write:/'Concatenation:', dest1.
CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep.
Write:/'Concatenation with Space:', dest2.
CONDENSE spaced_title.
Write:/'Condense with Gaps:', spaced_title.
CONDENSE spaced_title NO-GAPS.
Write:/'Condense with No Gaps:', spaced_title.
上記のコードは、次の出力を生成します-
Concatenation: finddevguides
Concatenation with Space: Tutorials Point
Condense with Gaps: Tutorials Point Limited
Condense with No Gaps: finddevguidesLimited
注-
- 連結の場合、「sep」はフィールド間にスペースを挿入します。
- CONDENSEステートメントは、フィールド間の空白を削除しますが、1文字のスペースのみを残します。
- 「NO-GAPS」は、すべてのスペースを削除するCONDENSEステートメントへのオプションの追加です。