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 支援各種各樣的語句來操作字串。

序號 語句和用途
1

CONCATENATE

將兩個字串連線起來形成第三個字串。

2

CONDENSE

此語句刪除空格字元。

3

STRLEN

用於查詢欄位的長度。

4

REPLACE

用於替換字元。

5

SEARCH

用於在字元字串中執行搜尋。

6

SHIFT

用於將字串的內容向左或向右移動。

7

SPLIT

用於將欄位的內容分割成兩個或多個欄位。

以下示例使用了一些上述語句:

示例

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: TutorialsPoint 
Concatenation with Space: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimited

注意

  • 在連線的情況下,“sep”會在欄位之間插入一個空格。

  • CONDENSE 語句刪除欄位之間的空格,但只保留一個字元的空格。

  • “NO-GAPS”是 CONDENSE 語句的一個可選附加項,它將刪除所有空格。

廣告