是否可以对包含ABAP,SAP中特定字符的字符串中的单词加倍?

问题描述 投票:1回答:1

给出一个字符串。请对字符串中的每个单词加倍,以符号“ a”开头。用空格符号分隔的单词。例如:

输入:我的公寓里有一个苹果输出:我的公寓里有一个苹果苹果

string character sap abap statements
1个回答
0
投票

有多种方法可以做到这一点。

[您可以使用SPLIT string AT space INTO TABLE DATA(tokens)将字符串标记为单词,然后使用LOOP AT tokens将单词重新组合为新字符串,如果to_lower( token(1) ) = 'a',则标记加倍。

或者,您可以使用正则表达式匹配以aA开头的所有单词,然后使用匹配位置重复匹配的单词。不过,您必须自己制定正则表达式。

您还可以构建一个自动机,该自动机先看一个字符,如果遇到以“ a”开头的单词,则达到特定状态,然后克隆匹配的单词。不过,这听起来似乎有点过头,但它更适合于更复杂的情况,例如构建解析器。

从业务角度看,您的问题听起来毫无意义,所以我认为这是家庭作业中的问题。因此,我没有提供完整的,有效的答案,而是仅概述了解决问题的可能方法。

根据How Do I Ask and Answer Homework Questions?,您不应简单地转发这些问题,而应提供您已经尝试过的内容以及遇到麻烦的特定位置。否则,人们将投票结束您的问题,而他们确实已经开始这样做。

© www.soinside.com 2019 - 2024. All rights reserved.