0

文字列に含まれるすべての文字が大文字かどうか (小文字と大文字のバリエーションがあるかどうか) を確認したいだけです。Tcl のビルトイン プロシージャは、期待どおりに動作しません。たとえば、

string is upper "123A"

false を返しますが、true を返したいと思います。また、A が大文字のキリル文字や、大文字と小文字を区別しない別の一般的なアルファベットの文字に置き換えられた場合にも、true を返したいと思います。文字列からすべての非文字を単純に除外することもできますが、英語以外の言語の文字を処理しようとしている場合、それはそれほど単純ではないと思います。

4

1 に答える 1

2

この場合、文字列が大文字だけstring is upperであるかどうかをチェックするので、必要ありません。(数字は文字ではありません。)

代わりに、次のことを行います。

set str "123A"
if {$str eq [string toupper $str]} {
    # It's upper-case by your definition...
}
于 2013-10-17T20:48:02.407 に答える