abap 转换成字符串_SAP ABAP 处理字符串串串串串串串串(详细)

本文详细介绍了SAP ABAP中处理字符串的各种方法,包括拆分、连接、获取长度、压缩、搜索、覆盖、替换、转换、移动及比较等操作。通过示例代码展示了每个操作的具体用法,帮助读者更好地理解和应用ABAP中的字符串处理技术。
摘要由CSDN通过智能技术生成

关于ABAP中处理字符串的方法,非常详细,学习过程中总结一下分享给大家,,,

ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字。

处理字符串 的方法有:

1.拆分字符串split

2.连接字符串

3.获得字符串长度

4.压缩字段内容(去空格)

5.搜索字符串

6.覆盖字符字段

7.替换字段内容

8.转换大/小写并替换字符

9.转换为可排序格式

10.根据第一个或最后一个字符移动字段串SHIFT

11.MOVE TO 分配字符串部分

12.字符串的比较

-----------------------------------

1.拆分字符串

语法:

SPLIT AT INTO ... .

1 DATA: STRING(60),

2 P1(20) VALUE '',

3 P2(20) VALUE '',

4 P3(20) VALUE '',

5 P4(20) VALUE '',

6 DEL(3) VALUE '***'.

7 STRING = 'Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'.

8 WRITE STRING.

9 SPLIT STRING AT DEL INTOP1 P2 P3 P4.

10 WRITE: /'P1:', P1.

11 WRITE: /'P2:', P2.

12 WRITE: /'P3:', P3.

13 WRITE: /'P4:' , P4.

该过程的输 出如下:

Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5

P1:Part 1

P2:Part 2

P3:Part 3

P4:Part 4 *** Part 5

2.连接字符串

语法:

CONCATENATE ... INTO [SEPARATED BY ].

1 DATA: C1(10) VALUE 'Sum',

2 C2(3) VALUE 'mer',

3 C3(5) VALUE 'holi ',

4 C4(10) VALUE 'day',

5 C5(30),

6 SEP(3) VALUE '- '.

7 CONCATENATE C1 C2 C3 C4 INTOC5.

8 WRITEC5.

9 CONCATENATE C1 C2 C3 C4 INTO C5 SEPARATED BYSEP.

10 WRITE / C5.

该过程的输 出如下:

Summerholiday

Sum - mer - holi - day

在 C1 到 C5 之间,忽略 尾部空格。 分隔符 SEP 保留尾部空格。

3.获得字符串长度

语法:

[COMPUTE] = STRLEN( ).

1 DATA: INT TYPEI,

2 WORD1(20) VALUE '12345'.

3 WORD2(20).

4 WORD3(20) VALUE '4 '.

5 INT =STRLEN( WORD1 ).

6 WRITEINT.

7 INT =STRLEN( WORD2 ).

8 WRITE /INT.

9 INT =STRLEN( WORD3 ).

10 WRITE / INT.

结果分别是 5,0 和 4。

WORD3(20) VALUE '4         '. 结果为 4 。

请注意,STRLEN 将操作数 作为字符数 据类型处理 ,而不考虑 其实际类型 。不进行转换。

4.压缩字段内容

语法:

CONDENSE [NO-GAPS].

该语句去除字段 中的前导空格并用一个空格替换其它空格序列 。结果是左对齐单词, 每个单词用空格隔开。 如果指定附 加的 NO-GAPS, 则去除所有空格。

1 DATA: STRING(25) VALUE 'one two three four',

2 LEN TYPEI.

3 LEN = STRLEN( STRING).

4 WRITE: STRING, '!'.

5 WRITE: / 'Length: ', LEN.

6 CONDENSE STRING.

7 LEN = STRLEN( STRING).

8 WRITE: STRING, '!'.

9 WRITE: / 'Length: ', LEN.

10 CONDENSE STRING NO-GAPS.

11 LEN = STRLEN( STRING).

12 WRITE: STRING, '!'.

13 WRITE: / 'Length: ', LEN.

该过程的输出如下:

one  two   three    four !

Length:          25

one two three four       !

Length:          18

onetwothreefour          !

Length:          15

请注意,字段 STRING 的总长度保持不变(注意!的位置),但删除的空格再次出现在右边。

5.搜索字符串

语法:

SEARCH FOR .

该语句在字 段 中搜索 中的字符串 。如果成功 ,则将 SY-SUBRC 的返回代码 值设置为0,并将 SY-FDPOS 设置为字段 中该字符串 的偏移量。

否则将 SY-SUBRC 设置为4。

搜索串 可为下列格 式之一:

                       目 的

---------------------------------

                 搜 索 (任何字符顺序)。忽略尾部空格。

..               搜 索 ,但是不忽略尾部空格 。

*               搜 索以 结尾的词。

*               搜 索以 开始的词。

单词之间用 空格、逗号 、句号、分 号、冒号、 问号、叹号 、括号、斜 杠、加号和等号等分隔 。

1 DATA STRING(30) VALUE 'This is a little sentence.'.

2 WRITE: / 'Searched', 'SY-SUBRC', 'SY-FDPOS'.

3 ULINE /1(26).

4 SEARCH STRING FOR 'X'.

5 WRITE: / 'X', SY-SUBRC UNDER 'SY-SUBRC',

6 SY-FDPOS UNDER 'SY-FDPOS'

7 SEARCH STRING FOR 'itt '.

8 WRITE: / 'itt ', SY-SUBRC UNDER 'SY-SUBRC',

9 SY-FDPOS UNDER 'SY-FDPOS'

10 SEARCH STRING FOR '.e .'.

11 WRITE: / '.e .', SY-SUBRC UNDER 'SY-SUBRC',

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值