正常的offset和length处理
sy-abcde(1)
等同于sy-abcde+0(1)
等同于substring( val = sy-abcde len = 1 )
都是A
sy-abcde+24
等同于sy-abcde+24(2)
等同于substring( val = sy-abcde off = 24 )
都是YZ
segment,字符串被分隔成N段,取其中一段
示例1:
str = 'A-B-CD-E',取出CD
segment( val = str index = 3 sep = '-' )
segment( val = str index = -2 sep = '-' )
index:-2,表示从右向左数第二个索引
示例2:
str = 'A-B_CD E',取出CD
segment( val = str index = 3 space = ' -_' )
space参数指用到的所有分隔符
substring系列
示例1:
str = '2024.06.19工作报告.xlsx',取出文件名和扩展名
文件名:substring_before( val = str sub = '.' occ = '-1' )
扩展名:substring_after( val = str sub = '.' occ = '-1' )
sub:.,按.截取
occ:-1,从右向左数第一个索引
取扩展名也可以用segment( val = str index = -1 sep = '.' )
示例2:
str = 'A-B-CD-E',取出-E和A-B-CD-
substring_from( val = str sub = '-' occ = '-1' )
substring_to( val = str sub = '-' occ = '-1' )
sub:-,按-截取
occ:-1,从右向左数第一个索引
concat_lines_of
示例1:
内表LT_TAB有两行,第一行为'错误消息1',第二行为'错误消息2',要求拼接起来,用分号隔开
concat_lines_of( table = lt_tab sep = ';' )
repeat
重复一个字符串10次:repeat( val = ` ` occ = 10 )
写代码生成工具时,为了让代码规范化,经常用到
replace
示例1:
str = '2024.06.19工作报告.xlsx',把除扩展名外的.改成-
str1 = replace( val = str sub = '.' with = '-' occ = 0 )
str2 = replace( val = str1 sub = '-' with = '.' occ = '-1' )
occ默认是1,replace时如果为0,表示替换所有
更多函数(find系列、count系列、insert、shift系列等)及参数介绍,请参见F1
我的SE38插件工具箱——视频介绍:
https://www.bilibili.com/video/BV1hP4y1N7Qz/
联系286503700获取
ABAP文章汇总:
https://mp.weixin.qq.com/s/djmMeM0qfDxPPwxbjuJABA
Excel文章汇总:
https://mp.weixin.qq.com/s/NwJ0SzIrn9hVmaCMo-UYyA
网盘永久链接:
https://mp.weixin.qq.com/s/f_WwKZdwM-vPEstTjjz_eQ
关注公众号,点下方菜单打开上面的链接,更方便哦。
笔者微信:286503700(QQ同号)
如果喜欢,谢谢转发。