SAP ABAP 字符串
字符串(String),是一个字符序列,在 ABAP 编程中被广泛使用。
我们使用数据类型 C
变量来保存字母数字字符,最少 1 个字符,最多 65535 个字符。
默认情况下,将向左对齐。
创建字符串
下面的声明和初始化创建了一个由单词 '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 'cankaoshouce',
length_1 TYPE I.
length_1 = STRLEN( title_1 ).
Write: / 'The Length of the Title is:', length_1.
结果如下:
The Length of the Title is: 12
ABAP 支持大量操作字符串的语句:
编号 | 语句 & 用途 |
---|---|
1 | CONCATENATE 两个字符串连接形成第三个字符串。 |
2 | CONDENSE 此语句删除空格字符。 |
3 | STRLEN 用于查找字段的长度。 |
4 | REPLACE 用于替换字符。 |
5 | SEARCH 在字符串中运行搜索。 |
6 | SHIFT 用于向左或向右移动字符串的内容。 |
7 | SPLIT 用于将字段内容拆分为两个或多个字段。 |
下面的实例使用了上述一些语句:
实例
REPORT YT_SEP_15.
DATA: title_1(10) VALUE 'cankao',
title_2(10) VALUE 'shouce',
spaced_title(30) VALUE 'cankao shouce 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: cankaoshouce
Concatenation with Space: cankao shouce
Condense with Gaps: cankaoshouce Limited
Condense with No Gaps: cankaoshouceLimited
注意:
Concatenation
情况下, 'sep' 会在字段之间插入空格。CONDENSE
语句删除字段之间的空格,但会留下 1 个字符的空格。- 'NO-GAPS' 是可选的。使用之后
CONDENSE
会删除所有空格。