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.