abap字符串控制函数

 *******字符串控制函数********
CONCATENATE:实现字符串合并
     语法:CONCATENATE F1...FN INTO G <SEPARATED BY H>
DATA: ONE(10) VALUE 'HELLO',
          TWO(10) VALUE 'SAP',
          RESULT1(10),
          RESULT2(10).
CONCATENATE ONE TWO INTO RESULT1 SEPARATED BY SPACE.
CONCATENATE ONE TWO INTO RESULT2.
CONCATENATE ONE TWO INTO ONE.
CONCATENATE ONE TWO INTO TWO.

SPLIT:实现字符串的拆分
     语法1:SPLIT F AT INTO H1...HN
     语法2:SPLIT F AT INTO TABLE ITAB
DATA: NAMES(30) TYPE VALUE 'HELLO,SAP',
          NAMES2  TYPE STRING,
          ONE(10) TYPE C,
          TWO(10) TYPE C,
          DELIMITER(1) VALUE ','.
TYPES: BEGIN OF ITAB_TYPE,
            WORD(20),
          END OF ITAB_TYPE.
DATA: ITAB TYPE STANDARD TABLE OF ITAB_TYPE WITH HEADER LINE.

SPLIT NAMES AT DELIMITER INTO ONE TWO.
SPLIT 'ONE STOP TWO STOP THREE STOP' AT 'STOP' INTO TABLE ITAB.
WRITE: ONE.

SHIFT:将字符串整体或者子串进行转移
     语法1:SHIFT <LEFT/RIGHT/CIRCULAR>
     语法2:SHIFT <LEFT/RIGHT/CIRCULAR> BY PLACES
     语法3:SHIFT <LEFT/RIGHT/CIRCULAR> UP TO C1
     语法4:SHIFT LEFT DELETING LEADING C1
     语法5:SHIFT RIGHT DELETING LEADING C1
DATA: STR1(15) TYPE VALUE '     ABCDEFGHIJ',
          STR2(15) TYPE C,
          STR3(15) TYPE C,
          STR4(15) TYPE C,
          STR5(15) TYPE C,
          STR6(15) TYPE C,
          THREE(3) TYPE VALUE 'DEF',
          FOUR(3) TYPE VALUE 'DEF',
          M1(4) VALUE 'ABCD',
          M2(6) VALUE 'HIJ'.
STR6 = STR5 = STR4 = STR3 = STR2 = STR1.
SHIFT STR1.
SHIFT STR2 CIRCULAR UP TO THREE.
SHIFT STR3 RIGHT.
SHIFT STR4 CIRCULAR.
SHIFT STR5 BY PLACES.
SHIFT STR6 CIRCULAR BY PLACES.
SHIFT STR1 LEFT DELETING LEADING SPACE.
SHIFT STR1 RIGHT DELETING TRAILING M2.
IF STR1 EQ 'ABCDEFG'.
WRITE: 'EQ'.
ENDIF.

CONDENSE:重新整合分配字符串
     语法:CONDENSE <NO-GAPS>.
DATA: NAME(40).
NAME(10) = '       DR.'.
NAME+10(10) = 'MICHAEL'.
NAME+20(10) = 'HOFMANN'.
CONDENSE NAME.
IF NAME EQ 'DR.MICHAEL HOFMANN'.
WRITE NAME.
ENDIF.

TRANSLATE:实现字符串转换
     语法1:TRANSLATE TO UPPER CASE.
     语法2:TRANSLATE TO LOWER CASE.
     语法3:TRANSLATE USING C1
     语法4:TRANSLATE FORM CODE PAGE G1...TO CODE PAGE G2.
DATA: STR1(3) TYPE VALUE 'ABC',
          STR2(4) TYPE VALUE 'EFGH'.
DATA: STR(20) TYPE VALUE 'ABCABCABCXABCF',
          CHANGE(15) TYPE VALUE 'AXBAYBABZACZB'.
TRANSLATE STR USING CHANGE.将STR的字符和CHANGE字符逐一比较,
如果找到CHANGE中某个字符与之相等则用CHANGE中该字符后面的字符进行替换它
TRANSLATE STR1 TO UPPER CASE.
TRANSLATE STR2 TO LOWER CASE.

OVERLAY:参考字符串对空白字符进行填充
     语法:OVERLAY C1 WITH C2.
DATA: WORK(20) VALUE 'TH T H S CH NG D',
          HELP(20) VALUE 'GRAB A PATTERN'.
OVERLAY WORK WITH HELP.
*执行结果:WORK = 'THAT HAS CHANGED'

REPLACE:字符串按条件取代
     语法:REPLACE F WITH INTO H.
DATA: STR(10) VALUE '12345ABCDE'.
REPLACE '12345' WITH '56789' INTO STR.
WRITE: ''.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值