二维码

[基础语法] abap合并、拆分和查找字符串

Twilight发表于 2015-03-24 17:43Twilight 最后回复于 2015-03-24 17:43 [复制链接] 7247 0

1、拆分字符串
  • SPLIT s_source AT sep INTO s1 s2 ……sn
  • SPLIT s_source AT sep INTO TABLE itab 根据子串数目生成n行的内表


2、连接字符串:
连接字符串:CONCATENATE s1 s2 …..sn INTO s_dest [SEPARATED BY sep]
如果结果出现被截断的情况,将SY-SUBRC返回4,否则返回0,符号&用于在字字符串换行时的连接

3、查找字符串:
SEARCH c FOR str.在字段c中查找字符串str.如果找到,则将SY-SUBRC返回0,SY-FDPOS返回字段c中该字符串的位置(从左算起的字节偏移量),否则SY-SUBRC返回4,查找模式有以下几种:
  • str            搜索str并忽略尾部空格
  • .str.          搜索str,但不忽略尾部空格
  • *str          搜索以str结尾的单词
  • str*          搜索以str开始的单词

  1. REPORT z_string_search.
  2. DATA string(30) TYPE c VALUE 'This is a testing sentence.'.
  3. WRITE: / 'searched','sy-subrc','sy-fdpos'.
  4. SEARCH string FOR 'X'.
  5. WRITE: / 'X', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER 'sy-fdpos'.
  6. SEARCH string FOR 'itt '.
  7. WRITE: / 'itt ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER 'sy-fdpos'.
  8. SEARCH string FOR '.e .'.
  9. WRITE: / '.e .', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER 'sy-fdpos'.
  10. SEARCH string FOR '*e '.
  11. WRITE: / '*e ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER 'sy-fdpos'.
  12. SEARCH string FOR 's* '.
  13. WRITE: / 's* ', sy-subrc UNDER 'sy-subrc',sy-fdpos UNDER 'sy-fdpos'.
复制代码

输出结果如下:
searched sy-subrc sy-fdpos
X            4        0
itt          4        0
.e .         4        0
*e           0       18
s*           0       18
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表