SAP ABAP - 字符串

  • 简述

    Strings广泛应用于ABAP编程中,是一个字符序列。
    我们使用数据类型 C 变量来保存字母数字字符,最少 1 个字符,最多 65,535 个字符。默认情况下,它们左对齐。
  • 创建字符串

    以下声明和初始化创建一个由单词“Hello”组成的字符串。字符串的大小正好是单词“Hello”中的字符数。
    
    Data my_Char(5) VALUE 'Hello'.
    
    以下程序是创建字符串的示例。
    
    REPORT YT_SEP_15. 
    DATA my_Char(5) VALUE 'Hello'. 
    Write my_Char.
    
    上面的代码产生以下输出 -
    
    Hello
    
  • 字符串长度

    为了找到字符串的长度,我们可以使用STRLEN statement。STRLEN() 函数返回字符串中包含的字符数。

    例子

    
    REPORT YT_SEP_15. 
    DATA: title_1(10) VALUE 'Tutorials',
          length_1 TYPE I. 
       
    length_1 = STRLEN( title_1 ). 
    Write: / 'The Length of the Title is:', length_1.
    
    上面的代码产生以下输出 -
    
    The Length of the Title is: 9 
    
    ABAP 支持多种操作字符串的语句。
    序号 声明与目的
    1
    CONCATENATE
    两个字符串连接起来形成第三个字符串。
    2
    CONDENSE
    该语句删除空格字符。
    3
    STRLEN
    用于查找字段的长度。
    4
    REPLACE
    用于替换字符。
    5
    SEARCH
    在字符串中运行搜索。
    6
    SHIFT
    用于向左或向右移动字符串的内容。
    7
    SPLIT
    用于将一个字段的内容拆分为两个或多个字段。
    以下示例使用了上述一些语句 -

    例子

    
    REPORT YT_SEP_15. 
    DATA: title_1(10) VALUE 'Tutorials', 
          title_2(10) VALUE 'Point',
          spaced_title(30) VALUE 'Tutorials  Point  Limited',
          sep,
          dest1(30),
          dest2(30).
       
    CONCATENATE title_1 title_2 INTO dest1. 
    Write: / 'Concatenation:', dest1. 
    CONCATENATE title_1 title_2 INTO dest2 SEPARATED BY sep. 
    Write: / 'Concatenation with Space:', dest2. 
    CONDENSE spaced_title.
    Write: / 'Condense with Gaps:', spaced_title. 
    CONDENSE spaced_title NO-GAPS. 
    Write: / 'Condense with No Gaps:', spaced_title.
    
    上面的代码产生以下输出 -
    
    Concatenation: TutorialsPoint 
    Concatenation with Space: JC2182 
    Condense with Gaps: JC2182 Limited 
    Condense with No Gaps: TutorialsPointLimited
    
    Note
    • 如果是串联,“sep”会在字段之间插入一个空格。
    • CONDENSE 语句删除字段之间的空格,但只留下 1 个字符的空格。
    • “NO-GAPS”是 CONDENSE 语句的可选补充,用于删除所有空格。