dcl Source char value (' 555 Bailey Ave, San Jose, CA 95141, USA');
dcl Digits char value ('0123456789');
dcl (Start, End) fixed bin(31);
dcl Num char(20) var;
/* Find last number (i.e., zip code) */
End = searchr (Source, Digits); /* returns 35 for the '1' */
Start = verifyr (Source, Digits, End); /* returns 30 for the ' ' */
Num = substr (Source, Start + 1, End - Start); /* extract number */