情形1:以某个字符为切割点,取这个字符前面和后面的字符串。
DATA: kunnr(20),
kunnr1(20),
kunnr2(20).
kunnr = 'KYU102345'.
SPLIT kunnr AT 'U' INTO kunnr1 kunnr2.
WRITE:/ kunnr1.
WRITE:/ kunnr2.
运行结果:
如果要以K为分割点,那么kunnr1为空,kunnr2为除第一位外,剩余位YU102345。
SPLIT kunnr AT 'K' INTO kunnr1 kunnr2.
如果切割的字符串是“KKKYU102345”,仍然以K为切割点,此时仍然是以第一位的K作为切割点,得到的kunnr1为空,kunnr2为除第一位外,剩余字符串。
情形2.取字符串的倒数n位,例如倒数6位。参考如下逻辑.
LOOP AT lt_tab INTO ls_tab.
CONDENSE ls_tab-charg.
IF strlen( ls_tab-charg ) > 1 .
lv_len = strlen( ls_tab-charg ).
IF lv_len GE 6.
lv_init = lv_len - 6.
ls_tab-charg = ls_tab-charg+lv_init.
ENDIF.
ENDIF.
COLLECT ls_tab INTO s_mt_tab.
CLEAR: lv_len,lv_init.
ENDLOOP.
参考文章: