ABAP 如何擷取字串的最後幾位

2021-10-07 13:49:23 字數 951 閱讀 7542

問題:這個欄位的內容長度是不唯一的

bkpf~awkey

belnr

gjahr

字段參考關鍵 

發票憑證編號

會計年度

51056248772020

=去掉後四位

5105624877

=後四位

2020

然後得到發票憑證編號和會計年度去關聯別的表。

最後沒有發現從後邊直接擷取的方法,得到了以下兩個方法.

方法一:先得到字串的長度,從 長度 - 4 處開始取,取後面的 4 位

data:len  type int4,

len1 type int4.

loop at gt_out assigning .

len = strlen( -awkey ).

len1 = len - 4.

-awkey1 = -awkey+0(10). "5105624877 2020 5105624877

-awkey2 = -awkey+len1(4). "5105624877 2020 2020 擷取最後四位

endloop.

方法二:字串翻轉 ,然後去取前四位

data:lt_date1 type string value '51056248772020'.

data:lv_i type int4,

lv_j type int4,

rstring type string.

lv_i = strlen( lt_date1 ).

do lv_i times.

concatenate lt_date1+lv_j(1) rstring into rstring.

lv_j = lv_j + 1.

enddo.

ABAP 擷取字串(Start Routine)

需求 有主資料zplant,取自工廠描述的一部分,用 隔開,比如 工廠a 北京 zplant只需要 工廠a 怎麼解決呢 寫在start routine裡,data z res wa typematch result,z res tab typematch result tab,z data type...

c 擷取字串後幾位 C 字串擷取

幾個經常用到的 1 取字串的前i個字元 1 string str1 str.substring 0,i 2 string str1 str.remove i,str.length i 2 去掉字串的前i個字元 string str1 str.remove 0,i string str1 str.su...

c 擷取字串後幾位 C 幾種擷取字串的方法小結

c 幾種擷取字串的方法小結,需要的朋友可以參考一下 1.根據單個分隔字元用split擷取 例如string st gt123 1 string sarray st.split 即可得到sarray 0 gt123 sarray 1 1 2.利用多個字元來分隔字串 例如string str gtazb...