ABAP學習筆記 處理字串

2021-08-30 14:43:54 字數 2188 閱讀 9696

[color=indigo][size=medium]

一、移動字段內容

1、按給定位置數移動字串

語法:shift [by places] .將字段移動個位置,如果省略by places,則將解釋為乙個位置;如果是0或負數,則保持不變;如果超過長度,則用空格填充。可為變數。

可以為:left 向左移動個位置,右邊用個空格填充;right 向右移動個位置,左邊用個空格填充;circular 向左移動個位置,以便左邊個字元出現在右邊。

2、移動欄位串到給定串

語法:shift up to .查詢字段內容直到找到欄位串並將字段移動到字段邊緣,可為變數。如果中找不到,則將sy-subrc設定為4並且不移動,否則將sy-subrc設定為0。內容同上。

3、根據第乙個或最後乙個字元移動欄位串

語法:shift left deleting leading .

shift right deleting trailing .假設左邊的第乙個字元或右邊的最後乙個字元出現在中,將字段向左或向右移動,字段右邊或左邊用空格填充,可為變數。

二、替換字段內容

語法:replace with into [lenght ].搜尋欄位中模式前個位置第一次出現的地方,如果未指定長度,則按全長度搜尋模式;然後,將模式在字段中第一次出現的位置用字串替換,如果指定長度,則只替換模式的相關部分。如果將系統欄位sy-subrc的返回**設定為0,則說明在字段中找到模式並已用替換,非0的返回**值則未替換。、、可為變數。

三、轉換大/小寫並替換字元

語法:translate to upper case.將字段中的所有小寫字母替換為大寫。

translate to lower case.將字段中的所有大寫字母替換為小寫。

translate using .根據欄位中儲存的替換規則替換欄位的所有字元,其中每對的第乙個字母用第二個字母替換。

四、覆蓋字元字段

語法:overlay with [only ].用的內容覆蓋欄位中包含中字母的所有位置。保持不變,如果省略了only ,則覆蓋欄位中所有包含空格的位置。如果至少要替換中的乙個字元,則將sy-subrc設定為0,對於所有其它情況,將sy-subrc設定為4;如果比長,則只覆蓋中的長度。

五、搜尋字元字段

語法:search for .在字段中搜尋中的字串,如果成功,則將sy-subrc的返回**值設定為0並將sy-fdpos設定為字段中該字串的偏移量,否則將sy-subrc設定為4。

搜尋串 可為下列格 式之一:

目的搜尋(任何字元順序。忽略尾部空格。

.. 搜尋,但是不忽略尾部空格。

*搜尋以結尾的詞。

* 搜尋以開始的詞。

可以為以下值:

starting at 在字段 中搜尋從 開始的 。結果 sy-fdpos 參照相對於 的偏移量而不是欄位的開始。

ending at 在字段 搜尋 直到位置 。

and mark 如果找到搜尋串,則將搜尋串中的所有字元(和使用 abbreviated 時的所有字 符)轉換為大寫形式。

六、壓縮字元字段

語法:condense [no-gaps].去除欄位中的前導空格並用乙個空格替換其它空格序列,結果是左對齊單詞,每個單詞用空格隔開。如果指定附加的no-gaps,則去除所有空格。注意:欄位的總長度不變,被刪的空格再次出現在右邊。

七、獲得字串長度

語法:= strlen( ).決定字串到最後乙個字元而不是space的長度。

八、連線字元字段

語法:concatenate .... into [separated by ].連線字串與,並將結果賦給。忽略尾部空格。附加separated by 允許指定字元字段,它放置在單個欄位間已定義的長度中。如果結果符合,則將sy-subrc設定為0,如果結果必須被截斷,則將sy-subrc設定為4。

九、拆分字元字段

語法:split at into ... .在字元欄位中搜尋分界字串,並將分界符之前和之後的部分放到目標欄位... 中。要將所有部分放到不同目標欄位中,必須指定足夠目標字段。否則,用字段 的剩餘部分填充最後目標欄位幷包含分界符。如果所有目標字段足夠長且不必截 斷任何部分,則將 sy-subrc 設定為0。否則,將其設定為4。

split at into .將組成原始串的部分放到內錶中.

十、分配字串部分

語法:move to percentage [right].將左對齊的字元欄位的百分比(或如果用right選項指定,則為右對齊)複製到。

abap 字串處理

1 對字串的操作 1 shift 截斷字串 shift by places 作用 去掉字串的前n個位置的字元,如果n未指定,預設為1,如果指定的n小於等於0,則字串不變。如果n超出字串的長度,則字串變空,所以在做此操作的時候要注意n的指定。可以首先獲得該字串的長度,方法 len strlen c m...

abap 字串操作 ABAP 字串常用處理方法

split dobj at sep into 必須指定足夠目標字段。否則,用字段dobj的剩餘部分填充最後目標欄位幷包含分界符 或者使用內錶動態接收 data l str type string,l str1 type c,l str2 type c.data begin of lt str occ...

C 學習筆記 字串處理

2.3 常用字串函式 2.4 原始字串字面量 c 提供了兩種型別的字串表示形式 c風格字串 c 引入的string類型別 字串實際上是使用null字元 0 終止的一維字元陣列。由於在陣列的末尾儲存了空字元,因此字元陣列的大小比 hello 的字元數多乙個。但是在定義字元陣列時,不需要把null字元放...