1.字符串移位
语法:
SHIFT <c> [BY <n> PLACES] [<modes>]
<modes> : (1).空白, 字符串往左移一位
(2).LEFT, 字符串往左移 n 位
(3).RIGHT, 字符串往右移 n 位
(4).CIRCULAR: 字符串以环状方式移位
Example:
DATA STRING(10) VALUE ‘ABCDEFGHIJ’.
SHIFT STRING. “得到 BCDEFGHI’
SHIFT STRING BY 2 PLACES RIGHT. “得到 ABCDEFGH
2.取代字符串内容
语法:
REPLACE <string1> WITH <string2> INTO <c>
将字符串 <c> 中的 <string1> 以 <string2> 来取代
Example:
DATA: STRING(10) VALUE ‘ABCDEFGHI’,
STR1(3) VALUE ‘DEF’,
STR2(3) VALUE ‘123’.
REPLACE STR1 WITH STR2 INTO STRING.
WRITE / STRING. “得到 ABC123GHI
3.大小写的转换
语法:
TRANSLATE <c> TO UPPER CASE. “转成大写
TRANSLATE <c> TO LOWER CASE. “转成小写
4.在字符串中寻找部分字符串
语法:
SEARCH <c> FOR <str>
Example:
DATA STRING(10) VALUE ‘ABCDEFGHIJ’.
会回存至两个变量, SY-SUBRC 和 SY-FDPOS, 若找到则 SY-SUBRC 为 0
SY-FDPOS 存开始位叠, 若找不到则 SY-SUBRC为 4, SY-FDPOS为 0
5.字符串长度
STRLEN(<c>)
Example:
INT = STRLEN(‘XYZABC’). “得到 6
INT = STRLEN(‘ABC ’ ). “得到 3
6.取部分字符串
<f>[+<o>][<l>]
Example:
DATA T(10) VALUE ‘ABCDEFGHIJ’.
WRITE / T+2(4). “得到 CDEF