SAP ABAP - 字符串



字符串在 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 语句。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: Tutorials Point 
Condense with Gaps: Tutorials Point Limited 
Condense with No Gaps: TutorialsPointLimited

注意

  • 在连接的情况下,“sep”会在字段之间插入一个空格。

  • CONDENSE 语句删除字段之间的空格,但只保留一个字符的空格。

  • “NO-GAPS”是 CONDENSE 语句的一个可选附加项,它将删除所有空格。

广告