例
以下の例では、数値文字をすべて削除します。数値文字列はキャノニック形式に変換されないので、以下のように、+ および E の文字は削除されません。
SET str="+123E4"
WRITE $ZSTRIP(str,"*N")
これは、+E を返します。
以下の例においては、最初の $ZSTRIP では句読点文字すべてが削除され、2 番目の $ZSTRIP では空白文字を除くすべての句読点文字が削除されます。
SET str="ABC#$%^ DEF& *GHI***"
WRITE $ZSTRIP(str,"*P"),!
WRITE $ZSTRIP(str,"*P'W")
以下の例では、英字の小文字を除く ('L) すべての文字が削除されます。この例では remchar 引数を使用して小文字 x のみを削除し、それ以外の小文字は保存します。
SET str="xXx-Aa BXXbx Cxc Dd xxEeX^XXx"
WRITE $ZSTRIP(str,"*E'L","x")
これは、abcde を返します。
以下の例では、英字の小文字を除く ('L) すべての文字が削除されます。この例では、remchar 引数値を指定していませんが (区切りのコンマは指定しています)、大文字の A、B、および C を残すために keepchar 引数は指定しています。
SET str="X-Aa BXXb456X CXc Dd XXEeX^XFFFfXX"
WRITE $ZSTRIP(str,"*E'L",,"ABC")
これは、AaBbCcdef を返します。
以下の例では、マスク・コードを指定していませんが、英字の "X" および "x" が文字列内に出現した場合には、それらを削除するよう指定しています。文字列内の他の文字はすべて返されます。
SET str="+x $1x,x23XX4XX.X56XxxxxxX"
WRITE $ZSTRIP(str,"*","Xx")
これは、+ $1,234.56 を返します。
以下の例では、マスク・コードを指定していませんが、先頭および末尾の文字として "x" を削除すること、および繰り返しの "x" が文字列内で出現した場合、それを削除することを指定しています。
SET str="xxxxx00xx0111xxx01x0000xxxxx"
WRITE $ZSTRIP(str,"<=>","x")
これは、00x0111x01x0000 を返します。
以下の例では、空白文字および英字の小文字を除くすべての数値文字、アルファベット文字、および句読点文字を削除します。単項否定演算子を持たないマスク・コードはすべて、単項否定演算子を持つマスク・コードよりいずれも前に置く必要があることに注意してください。
SET str="Aa66*&% B&$b Cc987 #Dd Ee"
WRITE $ZSTRIP(str,"*NAP'W'L")
これは、a b c d e を返します。
以下の例では、マスク・コード A (すべてのアルファベット文字) に一致する先頭文字、末尾文字、および繰り返し文字を削除します。
SET str="ABC123DDDEEFFffffGG5555567HI JK"
WRITE $ZSTRIP(str,"<=>A")
これは、123DEFfG5555567HI を返します。$ZSTRIP はマスク (1) に含まれないタイプの文字に遭遇するまで、先頭文字 (ABC) を削除し、かつ非マスク文字 (空白) に遭遇するまで、文字列の最後から末尾文字を削除しています。マスク・タイプの繰り返し文字は、出現回数が 1 回に (DDDEE = DE) 削減されています。繰り返しテストは大文字と小文字が区別されることに注意してください (FFffff = Ff)。マスク・タイプ (55555) ではない繰り返し文字は、影響を受けません。
以下の例では、16 進数字 0 ~ 9 および A ~ F を除いたすべての文字を削除します。
SET str="123$ GYJF870B-QD @#%+"
WRITE $ZSTRIP(str,"*E'N",,"ABCDEF")
これは、123F870BD を返します。