codecamp

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

注意:

  • 在Concatenation的情况下,'sep'在字段之间插入一个空格。

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

  • 'NO-GAPS'是CONDENSE语句的可选添加,删除所有空格。

SAP ABAP 决策
SAP ABAP 日期和时间
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }