ABAP: 分割字符串

情形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.

参考文章:

ABAP 如何截取字符串的最后几位_酒剑仙abc的博客-CSDN博客_abap截取最后4位

SAP ABAP 处理字符串串串串串串串串(详细) - 明大叔 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值