Processing Character Strings

Objective

After completing this lesson, you will be able to 在应用程序中处理字符串

字符串函数

处理字符串

处理字符串

管道符号可用于定义字符串模板。

字符串模板是结果类型为字符串的 ABAP 表达式。可以在任何读取操作数位置使用字符串模板,例如,值分配的右侧。

字符串模板以管道符号 ( | |) 开头和结尾。最简单的字符串模板仅包含文字。在此表单中,字符串模板与字符串文字并非真正不同。

字符串模板与字符串文字的区别在于能够嵌入表达式。嵌入式表达式是由一对花括号 ({ }) 包围的 ABAP 表达式。在运行时,ABAP 评估嵌入式表达式并将结果转换为字符串。在结果中,此字符串替换嵌入的表达式(连同周围的花括号)。

注意

ABAP 语法在左括号后至少需要一个空格,在右括号之前至少需要一个空格。

一个字符串模板可以包含多个嵌入式表达式。

在大括号中,您可以放置任何类型的 ABAP 表达式:变量、文字或算术表达式。

使用字符串模板的示例

连接字符串

操作符 && 可用于连接字符串

可使用连接运算符 && 将字段连接在一起。您可以连接数据对象和字符串表达式的任意组合。

表达式的上述变量(第 1 部分和第 2 部分)之间不使用空格或其他分隔符进行连接。如果需要空格或其他分隔符或字符,则必须记得将其自己作为表达式的一部分插入,如上图所示。

使用字符串示例,用户可能希望拆分其全名,以便仅输出名字。

关键字 SPLIT 可用于将给定字符处的字符串拆分为多个子字符串

处理字符串

业务示例

您具有客户的全名,但需要显示名字。创建 ABAP 代码以将全名拆分为名字和姓氏,并将名字输出到控制台。

注意

在本练习中,XX 指的是您的编号。

步骤

  1. 创建类 ZCL_S4D100_XX_CONDZCL_S4D100_XX_CASE

    1. 在项目浏览器中展开 CLASS ZLCOAL

    2. 右键单击包 ZS4D100_XX,然后选择新建ABAP 类

    3. 名称中输入 ZCL_S4D100_XX_CHAR

    4. 描述:中输入字符串

    5. 选择添加以添加接口 IF_OO_ADT_CLASSRUN

    6. 选择确定

    7. 选择下一步

    8. 选择传输请求,然后按完成

    9. 激活 (Ctrl+F3)

  2. if_oo_adt_classrun~main 中的代码更改为使用 CASE 语句,而不是 IF 语句,以检查 c_number0 是否为初始值。

    1. 使用以下代码实施 METHOD IF_OO_ADT_CLASSRUN~MAIN. :

      Code Snippet
      1234567
      DATA: lv_full_name TYPE string VALUE 'Stan Wilson', lv_first_name TYPE string, lv_last_name TYPE string. SPLIT lv_full_name AT '' INTO lv_first_name lv_last_name. out->write( |user { lv_first_name }| ).
  3. 激活并测试程序。

    1. 激活 (Ctrl+F3)

    2. F9 运行类。

    实践