Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Processing Internal Data →  Character String and Byte String Processing →  Expressions and Functions for String Processing →  String Functions →  Examples of String Functions 

String Functions, count, find, and match

The example demonstrates the string functions count, find, and match.

Other versions: 7.31 | 7.40 | 7.54

Source Code

    DATA: text TYPE c LENGTH 120
               VALUE `Cathy's cat with the hat sat on Matt's mat.`,
          regx TYPE c LENGTH 120
               VALUE `\<.at\>`.
    DATA: result TYPE i,
          substr TYPE string.
    data out TYPE c LENGTH 120.
    cl_demo_input=>add_field( CHANGING field = text ).
    cl_demo_input=>request(   CHANGING field = regx ).
    cl_demo_output=>write( text ).
    result = count( val   = text
                    regex = regx ).
    DO result TIMES.
      result = find( val   = text
                     regex = regx
                     occ   = sy-index ).
      substr = match( val   = text
                      regex = regx
                      occ   = sy-index ).
      data(len) = strlen( substr ).
      out+result(len) = substr.
    ENDDO.
    cl_demo_output=>display( out ).

Description

In the text field text, all occurrences are found (using count and find) that match a regular expression. When a search is successful, the subsequence found is read and displayed using the function match.

Instead of using the function count, it is also possible to use an unlimited DO loop that is exited using EXIT if the result of find has the value -1.