如何计算在ABAP中的vogals

时间:2017-07-05 18:57:10

标签: sap abap

我需要一些帮助...

我怎样才能将字符串中的vogals连接起来?

例如。

数据:str类型字符串值'steave'。

我希望输出为。

2 - >即1 - >一个。

2 个答案:

答案 0 :(得分:1)

我认真地认为你是在随意编造文字。 我希望'vogals'是字符。 Vogals我被告知,是元音。谢谢@jmoerdyk。无论如何,既然你让我感兴趣,我认为这可能有用:

vowels = 'aeiouy'
length = STRLEN(vowels).
WHILE index < length.
  char = vowels+index(1).
  FIND ALL OCCURENCES OF char IN yourString
  MATCH COUNT  occurrences
  WRITE: / char,'appears', / occurrences,'times'
  ADD 1 TO index.
ENDWHILE.

似乎难以为SAP工作。该语言似乎适用于表/数据库,而不是这些字符串操作。

答案 1 :(得分:1)

只需遍历字符串/ char并将结果收集到统计内部表中。使用CA(包含任何)运算符来检查元音。示例代码:

DATA: str TYPE string VALUE 'steave',
      l_pos TYPE sy-index,
      BEGIN OF ls_stat,
        char TYPE c,
        count TYPE sy-index,
      END OF ls_stat,
      lt_stat LIKE STANDARD TABLE OF ls_stat.

DO strlen( str ) TIMES.
  l_pos = sy-index - 1 .
  IF str+l_pos(1) CA 'AaEeIiOoUu'.
    ls_stat-char = str+l_pos(1).
    ls_stat-count = 1.
    COLLECT ls_stat INTO lt_stat.
  ENDIF.
ENDDO.

SORT lt_stat BY count DESCENDING.
LOOP AT lt_stat INTO ls_stat.
  WRITE: / ls_stat-count, '->', ls_stat-char.
ENDLOOP.