2つの文字列をまとめて比較し、変数がアルファベットかどうかを判断する方法


3

私はこのコードを持っています

for /l %%a in (0, 1, 25) do (
if /i !TextAlphabet!==!Alphabet[%%a]! (
set AlphabetNumber=%%a
)
)

!Alphabet[]! アルファベットを含む配列です。

エコーしてみた !TextAlphabet! そして !Alphabet[%%a]! そしてそれらが同じ場合 %AlphabetNumber% それでも、ループの前に設定した値です。

変数内の空白を調べようとしましたが、見つかりませんでした。

私は ""タグに変数を追加することも試みました。


この質問はプログラミングに関するものであり、に属しているため、話題外と思われます。 スタックオーバーフロー 。やってみる stackoverflow.com/help/how-to-ask
Kevin Panko

5
@ KevinPanko質問はここで大丈夫です。パワーユーザー環境とシステム管理に関するスクリプトの質問を許可します。
slhck

回答:


4

変数に文字しか含まれていないかどうかを確認したい場合は、次のようにします。 findstr、 このような:

set var=Abc
echo %var%|findstr "^[A-Za-z]*$" >nul
if %errorlevel% == 0 (echo Variable is alphabetical)

使い方

変数がエコーされてから 配管 findstr コマンドを使用します。 正規表現 アルファベット文字と一致させるには:

  • ^ 行頭に一致します。
  • [A-Za-z] を定義します 文字クラス AからZまでの任意の文字(大文字と小文字の両方)に一致します。
  • * 直前のクラスを0回以上繰り返します。
  • $ 行末に一致します。

%errorlevel% 変数はに設定されます 0 一致した場合、または 1 さもないと。の findstr 出力はその後にリダイレクトされます nul、このように無視されました。

参考文献

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.