编写一个由连字符分隔的字符串。

2020-08-25 18:48发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个字符串,

 lv_serial ='ABCDEFGHIJKL1237'。

想在下面这样写,

'AB-CD-EF-GH-IJ-KL-12-37'。

需要帮助。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个字符串,

 lv_serial ='ABCDEFGHIJKL1237'。

想在下面这样写,

'AB-CD-EF-GH-IJ-KL-12-37'。

需要帮助。

付费偷看设置
发送
4条回答
奄奄一息的小鱼
1楼-- · 2020-08-25 19:04

因为它是一个字符串,并且您不知道输入的大小,所以不能使用REGEX,WRITE ... MASK,CONCATENATE ... ...

您需要在 输入的字符和每2个字符插入一个字符-

吹牛啤
2楼-- · 2020-08-25 18:59

我认为练习的目的是让您搜索ABAP文档并找到正确的功能。 例如,从此处开始:字符串表达式和函数

Cikesha
3楼-- · 2020-08-25 19:03
 DATA:gv_string TYPE字符串VALUE'ABCDEFGHIJKLMNOPQR',

      gv_string_final TYPE字符串,
      lv_mod TYPE i,
      gv_length TYPE i,
      gv_offset TYPE i。

 gv_length = strlen(gv_string)。

 做gv_length次。
   CONCATENATE gv_string_final gv_string + gv_offset(1)INTO gv_string_final。

   lv_mod = gv_offset MOD 2。

   如果sy-index = gv_length。  "在到达最后一个角色时退出
     出口。
   万一。

   如果lv_mod = 1。
     CONCATENATE gv_string_final'-'INTO gv_string_final。
   万一。

   gv_offset = gv_offset + 1。
 ENDDO。

 WRITE:/'输入字符串:',gv_string。
 WRITE:/'Result:',gv_string_final。
哎,真难
4楼-- · 2020-08-25 19:18

GáborMárián 您应该将提案作为答案发布

我一直在寻找可直接替换的REGEX,而不是想像这种解决方案。 好主意!

一周热门 更多>