首页 > 解决方案 > 如何用大写字母分隔字符串?

问题描述

我目前必须在 ABAP 中编写一个代码,其中包含一个字符串,该字符串具有多个以大写字母/大写字母开头的单词,并且中间没有空格。

我必须将它分成这样的内部表:

输入 :

NameAgeAddress

输出 :

Name

Age

Address

标签: stringabapcapitalization

解决方案


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

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

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

细节:

  • (?!^.)说下一个要查找的字符 (\u) 不应该是第一个字符
  • \u是任何大写字母
  • $0用空格字符替换找到的字符串 ($0)
  • occ = 0替换所有出现

推荐阅读