4.4.4 字符串数据处理
4.4.4.1 字符串移位
将字符串整体或者子串进行移位
语法结构:SHIFT <c> [ BY <n> PLACES ] [<modes>]
空白-字符串往左移一位
LEFT-字符串往左移n位
RIGHT-字符串往右移n位
指定字符串c从子串c1进行移位
语法结构:SHIFT c UP TO c1
执行结果返回系统参数SY-SUBRC
执行成功,返回0,不成功,返回4
移除字符串c左边/右边的子字符串c1
语法结构:SHIFT c LEFT/RIGHT DELETING
LEADING/TRAILING c1
执行结果返回系统参数SY-SUBRC
执行成功,返回0,不匹配,返回4
4.4.4.2 替换字符
将字符串<c> 中的 <string1> 以 <sting2> 来取代
语法结构:
REPLACE <string1> WITH <string2> INTO <c>
4.4.4.3 字符串转换
将全部字符串转成大写/小写
语法结构:
TRANSLATE <c> TO UPPER / LOWER CASE.
4.4.4.4 寻找字符串
从字符串f/表itab中搜索字符串g
按顺序搜索方式:
SEARCH 变量 FOR 字符串内容 ABBREVIATED.
从第几个字符开始搜索方式:
SEARCH 变量 FOR 字符串内容 STARTING AT 字符位数.
到第几个字符结束搜索方式:
SEARCH 变量 FOR 字符串内容 ENDING AT 字符位数.
模糊搜索方式:
SEARCH 变量 FOR 字符串内容 AND MARK.
特殊字符需要在两个点号搜索方式:
SEARCH 变量 FOR 字符串内容 ENDING AT 字符位数.
内表数据搜索方式:
SEARCH 变量 FOR 字符串内容 ENDING AT 字符位数.
4.4.4.5 字符串合并
将多个字符串合并成一个字符串
语法结构:
CONCATENATE f1…fn INTO g [ SEPARATED BY h]
SPARATED BY表示在连接字符串中加入分隔符号
将一个字符串拆分并赋值给多个变量
语法结构:
SPLIT f AT g INTO h1…hn
将一个字符串拆分并分配给一个内表
语法结构:
SPLIT f AT g INTO TABLE itab
4.4.4.7 去除字符串空格
去掉字符串的空格
CONDENSE c <NO-GAPS>
字符串前置空格被删除
NO-GAPS 前置空格以及中间所有空格被删除
2021年9月8日 写于芜湖