Saya punya kode ini
for /l %%a in (0, 1, 25) do (
if /i !TextAlphabet!==!Alphabet[%%a]! (
set AlphabetNumber=%%a
)
)
!Alphabet[]!
adalah array yang mengandung huruf.
Saya mencoba menggema !TextAlphabet!
dan !Alphabet[%%a]!
dan ketika mereka sama, %AlphabetNumber%
masih nilai yang saya tetapkan sebelum loop.
Saya mencoba memeriksa spasi putih di variabel saya tetapi tidak menemukannya.
Saya juga mencoba menambahkan variabel dalam tag "".
Jawaban:
Jika Anda ingin memeriksa apakah suatu variabel hanya berisi huruf yang dapat Anda gunakan
findstr
, seperti ini:Bagaimana itu bekerja
Variabel digaungkan dan kemudian disalurkan ke
findstr
perintah, yang akan menggunakan ekspresi reguler untuk mencocokkan karakter alfabet:^
cocok dengan awal baris;[A-Za-z]
mendefinisikan kelas karakter yang cocok dengan karakter apa pun dari A hingga Z, baik huruf besar dan kecil;*
mengulangi nol atau lebih kejadian dari kelas sebelumnya;$
cocok dengan garis akhir.The
%errorlevel%
variabel akan ditetapkan ke0
jika ada pertandingan, atau1
sebaliknya. Thefindstr
output akan kemudian diarahkan kenul
, sehingga diabaikan.Referensi
sumber