PowerShell: Dizenin Özel Karakterler İçerip İçermediği Nasıl Kontrol Edilir


Genellikle PowerShell'de bir dizenin herhangi bir özel karakter içerip içermediğini kontrol etmek isteyebilirsiniz.

Bunu yapmak için aşağıdaki sözdizimini kullanabilirsiniz:

$my_string -match '[^a-zA-Z0-9 ]'

Bu özel örnek, $my_string adlı dize değişkeninin herhangi bir özel karakter içerip içermediğini kontrol eder ve içeriyorsa True, aksi takdirde False değerini döndürür.

Bu sözdizimi, aşağıdaki karakterlerden herhangi biriyle ( ^ ) eşleşmeyen herhangi bir karakter olup olmadığını kontrol etmek için -match operatörünü kullanır:

  • a-z: Herhangi bir küçük harf
  • A-Z: Herhangi bir büyük harf
  • 0-9: Herhangi bir sayı

Not: Boşluğun özel bir karakter olarak değerlendirilmemesi için parantezlerin sonuna da boşluk ekledik. İsterseniz bunu dışarıda bırakmaktan çekinmeyin.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: PowerShell'de Dizenin Özel Karakterler İçerip İçermediği Nasıl Kontrol Edilir

Aşağıdaki metinle $my_string adında bir dize değişkeni oluşturduğumuzu varsayalım:

I am the proud owner of 3 dogs

Bu dizenin herhangi bir özel karakter içerip içermediğini kontrol etmek için aşağıdaki sözdizimini kullanabiliriz:

$my_string = 'I am the proud owner of 3 dogs'
$my_string -match '[^a-zA-Z0-9 ]' 

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Bu, $my_string adlı dize değişkeninin herhangi bir özel karakter içermediğini belirten False değerini döndürür.

Dizeye manuel olarak bakıp yalnızca sayı, harf ve boşluk içerdiğini görerek bunun doğru olduğunu doğrulayabiliriz.

Bunun yerine, aşağıdaki metinle $my_string adında bir dize değişkeni oluşturduğumuzu varsayalım:

I am the proud owner of $3

Bu dizenin herhangi bir özel karakter içerip içermediğini kontrol etmek için aşağıdaki sözdizimini kullanabiliriz:

$my_string = 'I am the proud owner of $3'
$my_string -match '[^a-zA-Z0-9 ]' 

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Bu, $my_string adlı dize değişkeninin en az bir özel karakter içerdiğini belirten True değerini döndürür.

Bu özel örnekte, dizedeki dolar işareti ( $ ) özel bir karakter olarak kabul edilir; bu nedenle -match operatörü True değerini döndürür.

Not: PowerShell'deki -match operatörüne ilişkin tüm belgeleri burada bulabilirsiniz.

İlgili makaleler