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.