私はC++プログラムを書いています。char配列trans[20][100]の配列があります。実際、transの各文字列は、文法(プログラミング言語トランスレータ)の遷移です。トランスの各文字列で、「。」の後に非終端記号があるかどうかを確認したいと思います。つまり、文字列に「。」があるかどうかを確認したいのです。大文字が続きます。誰か教えてもらえますか?
-前もって感謝します
2331 次
3 に答える
4
任意のRegExpライブラリ(例:これ)を使用できます。テスト正規表現は/\.[A-Z]/
です。
または、ASCII文字列の場合は次を使用できます。
int strHasDotCap(const char *s)
{
while (*s) {
if (*s++ == '.') {
if (*s >= 'A' && *s <= 'Z') return 1;
}
}
return 0;
}
于 2011-03-05T13:02:39.460 に答える
3
文字がASCIIタイプの場合は、ctype.h isAlpha()、isUpper()などの関数を使用できます。
于 2011-03-05T14:24:49.597 に答える
1
ASCII charを操作する場合は、charのint値が65から90の間であるかどうかをテストできます。ASCIIテーブルを参照してください。
于 2011-03-05T13:03:32.990 に答える