1.SEARCH搜索指定字符串

  1. REPORT Z_CHAR.
  2. DATA str().
  3. MOVE 'Welcom to sap world!' to str.
  4. SEARCH str for 'sap'.

如果查找成功sy-subrc = 0,sy-fdpos表表示所查找的内容在字符串中开始位置。

2、字符串截取

  1. DATA str() VALUE 'Welcom to sap world!'.
  2. DATA:cutstr() TYPE c.
  3. cutstr = str(). "直接截取第10位字母
  4. cutstr = str+(). "从第五位开始截取10位字母

3、字符串的合并

  1. data:str1() TYPE c VALUE 'welcome',
  2. str2() type c VALUE 'to',
  3. str3() TYPE c VALUE 'sap world!',
  4. strall TYPE string.
  5. CONCATENATE str1 str2 str3 INTO strall. "合并时去掉前后空格
  6. CONCATENATE str1 str2 str3 INTO strall SEPARATED BY ''. "合并时加上指定字符
  7. CONCATENATE str1 str2 str3 INTO strall RESPECTING BLANKS. "合并时保留前后空格

4、字符串的拆分

  1. DATA str() VALUE 'Welcom to sap world!'.
  2. DATA:str1() ,
  3. str2() ,
  4. str3() ,
  5. str4() .
  6. SPLIT str AT space INTO str1 str2 str3 str4.

5、获取字符串的长度,函数 strlen

  1. DATA str() VALUE 'Welcom to sap world!'.
  2. data len TYPE I.
  3. len = strlen( str ).

6、清除字符串前后的空格CONDENSE。

7、还有一种方式也可以清除字符串前后空格就是移动字符串的

  1. DATA:str() TYPE c VALUE ' 我是中国人 '.
  2. SHIFT str. "删除左边的第一个空格
  3. SHIFT str LEFT DELETING LEADING space. "删除左边所有空格,其实就是一直往左边移动
  4. SHIFT str RIGHT DELETING TRAILING space. "删除右边所有空格,其实就是一直移动到最右边,

8、字符串按条件替换

  1. DATA str() VALUE 'Welcom to sap world!'.
  2. REPLACE 'sap' WITH 'ERP' INTO STR.“把字符串中的sap替换成ERP

9.字符串的大小写转换

  1. DATA str() VALUE 'Welcom to sap world!'.
  2. TRANSLATE str TO UPPER CASE. "转换成大写
  3. TRANSLATE str to LOWER CASE. "转换成小写