前のページ|次のページ

ANYCNTRL関数

文字列からコントロール文字を検索し、最初に検索された文字の位置を返します。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル2に準拠しており、SBCS、DBCSおよびMBCS(UTF8)での使用目的で設計されています。

構文

ANYCNTRL(string <,start>)

必須引数

string

検索する文字の定数、変数または式です。

オプション引数

start

検索を開始する位置を指定し、検索の方向を指定する整数です(省略可能)。

詳細

ANYCNTRL関数の結果は、有効になっている変換テーブル(TRANTAB=システムオプション (SAS各国語サポート(NLS):リファレンスガイド) を参照)に直接依存し、ENCODING およびLOCALEシステムオプションに間接的に依存します。
ANYCNTRL関数は、文字列で最初に出現する制御文字を検索します。このような文字が検出されると、ANYCNTRLはその文字の文字列の位置を返します。このような文字が検出されないと、ANYCNTRLは0の値を返します。
1つの引数のみを使用する場合、ANYCNTRLは文字列の先頭から検索を開始します。2つの引数を使用する場合、第2引数startの絶対値で検索の開始位置を指定します。検索方向は次のように決まります。
  • startの値が正の場合、検索は右方向に進みます。
  • startの値が負の場合、検索は左方向に進みます。
  • startの値が文字列の負の長さよりも小さい場合、文字列の末尾から検索が開始されます。
ANYCNTRLは、次のいずれかに該当する場合にゼロ値を返します。
  • 検索文字が見つからない。
  • startの値が文字列の長さよりも大きい。
  • startの値が0になっている。

比較

ANYCNTRL関数は、文字列から制御文字を検索します。NOTCNTRL関数は、文字列から制御文字でない文字を検索します。

次のプログラムを実行すると、ANYCNTRL関数によって識別される制御文字が表示されます。
data test; 
do dec=0 to 255;
   drop byte;
   byte=byte(dec);
   hex=put(dec, hex2.);
   anycntrl=anycntrl(byte);
   if anycntrl then output;
 end;

 proc print data=test;
 run;

関連項目:

関数:
前のページ|次のページ|ページの先頭へ