ABAP中SPLIT关键字 当分隔符位于字符串首尾时

使用SPLIT关键字将一个字符串按某个分隔符拆分,如果分隔符穿插在字符串中间(即首尾字符均不是分隔符的情况),我们很容易知道拆分后的结果,但如果分隔符恰好位于字符串首或者末尾呢?

  如下面的代码所示,在调试窗口中可以看到执行完第6行代码之后内表 lt_split_table 中所有的行项目。

DATA: lv_str         TYPE string,
      lt_split_table TYPE TABLE OF string.

lv_str = '/This/is/a/test./'.

SPLIT lv_str AT '/' INTO TABLE lt_split_table.

由以上测试的结果可知,当分隔符位于字符串首时,该分隔符左边拆分出一个空的字符串;当分隔符位于字符串末尾时,该分隔符右边不会拆分出空字符串。

          DATA: lv_str   TYPE string,
                lt_split_table TYPE TABLE OF string,
                ls_split_table TYPE string.

          SPLIT lv_json AT '[' INTO str1 str2.
          SPLIT str2 AT ']' INTO TABLE lt_split_table.

          LOOP AT lt_split_table INTO ls_split_table.
            IF sy-tabix <> sy-tfill.       "最后一行不参与拼接
              CONCATENATE str3 ls_split_table  INTO str3 .
            ENDIF.
          ENDLOOP.

          CONCATENATE '[' str3 ']' INTO o_return5 .

这是将str2根据‘]’拆分,然后去掉最后一个,在拼接起来。
这是实现  SPLIT 从右侧拆分的一种方法.

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值