如何用大写字母(大写)分隔ABAP字符串?

Mic*_*ick 1 abap

目前,我必须使用ABAP中的代码,其中包含一个字符串,该字符串具有多个以大写字母/大写字母开头的单词,并且它们之间没有空格,必须将其分成一个内部表,如下所示:

输入:

NameAgeAddress

输出:

Name

Age

Address
Run Code Online (Sandbox Code Playgroud)

San*_*ssi 5

这是我能找到的最短的代码,它结合使用正则表达式SPLIT

SPLIT replace( val = 'NameAgeAddress' regex = `(?!^.)\u` with = ` $0` occ = 0 ) 
      AT ` ` 
      INTO TABLE itab.
Run Code Online (Sandbox Code Playgroud)

因此,replace将“ NameAgeAddress”转换为“ Name Age Address”,SPLIT并将这3个单词放入内部表中。

细节:

  • (?!^.) 说要查找的下一个字符(\ u)不应该是第一个字符
  • \u 是任何大写字母
  • $0 替换查找到的字符串($ 0)本身并以空格开头
  • occ = 0 取代所有事件