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 the occurrences are searched for (using count and find) that correspond to a regular expression. When a search is successful, the subfield found is read out and displayed with the help of the match function.

Instead of using the count function, you could also use an unlimited DO loop that is left using EXIT if the result of find has the value -1.