文字のリストに表示される(または表示されない)文字列内の文字の個数を数えます。
| カテゴリ: | 文字 |
| 制限事項: | この関数は、I18Nレベル1に準拠しています。英語以外の言語を使用する場合、可能な限りI18Nレベル1の関数の使用は避けてください。特定の環境下では、I18Nレベル1の関数は、2バイト文字セット(DBCS)または複数バイト文字セット(MBCS)エンコーディングを使用すると正常に動作しない場合があります。 |
文字定数、変数または式を指定します。この中にある文字を数えます。
| ヒント | 文字のリテラル文字列を引用符で囲みます。 |
文字リストを初期化する文字定数、変数または式を指定します。COUNTCはこのリストの文字を数えます(ただし、V修飾子をmodifier引数で指定しない場合)。V修飾子を指定すると、このリストにないすべての文字を数えます。他の修飾子を使うことでリストに文字をさらに追加できます。
| ヒント | 文字のリテラル文字列を引用符で囲みます。 |
| 修飾子を処理した後でリストに文字がない場合、COUNTCはゼロを返します。 |
文字定数、変数または式を指定します。空白でない文字はそれぞれCOUNTC関数のアクションを変更します。空白は無視されます。修飾子として使用できる文字(大文字または小文字)は次のとおりです。
| 空白 | 無視されます。 |
| aまたはA | 文字のリストにアルファベット文字を追加します。 |
| bまたはB | 左から右方向ではなく、右から左方向にstringをスキャンします。 |
| cまたはC | 文字のリストに制御文字を追加します。 |
| dまたはD | 文字のリストに数字を追加します。 |
| fまたはF | アンダースコア文字および英文字(VALIDVARNAME=V7でSAS変数名の先頭に使用できる文字)を文字リストに追加します。 |
| gまたはG | 文字のリストにグラフィカル文字を追加します。 |
| hまたはH | 文字のリストに水平タブを追加します。 |
| iまたはI | 大文字と小文字を区別しません。 |
| lまたはL | 小文字を文字リストに追加します。 |
| nまたはN | 文字のリストに数字、アンダースコアおよび英文字(VALIDVARNAME=V7を使用したSAS変数名内に表示可能な文字)を追加します。 |
| oまたはO | このCOUNTCインスタンスを最初に呼び出す1回のみ、character-list引数およびmodifier引数を処理します。以降の呼び出しにおけるcharacter-listまたはmodifierの値の変更は、COUNTCで無視されることがあります。 |
| pまたはP | 文字のリストに句読点を追加します。 |
| sまたはS | 文字のリストに空白文字(空白、水平タブ、垂直タブ、キャリッジリターン、ラインフィード、フォームフィード)を追加します。 |
| tまたはT | stringおよびcharacter-listから末尾の空白を取り除きます。両方(またはすべて)の文字引数ではなく一方のみから末尾の空白を削除する場合は、COUNTC関数にT修飾子を使用するかわりに、TRIM関数を使用します。 |
| uまたはU | 大文字を文字リストに追加します。 |
| vまたはV | 文字リストに現れない文字を数えます。この修飾子を指定しないと、COUNTCはこの文字リストに現れない文字を数えます。 |
| wまたはW | 印刷可能文字を文字リストに追加します。 |
| xまたはX | 文字のリストに16進文字を追加します。 |
| ヒント | modifierが定数の場合、引用符で囲みます。一組の引用符で複数の定数を指定します。 |
data test;
string = 'Baboons Eat Bananas ';
a = countc(string, 'a');
b = countc(string, 'b');
b_i = countc(string, 'b', 'i');
abc_i = countc(string, 'abc', 'i');
/* Scan string for characters that are not "a", "b", */
/* and "c", ignore case, (and include blanks). */
abc_iv = countc(string, 'abc', 'iv');
/* Scan string for characters that are not "a", "b", */
/* and "c", ignore case, and trim trailing blanks. */
abc_ivt = countc(string, 'abc', 'ivt');
run;
proc print data=test noobs;
run;