PowerShell'de Bir Dizenin Boşluk İçerip içermediği Nasıl Kontrol Edilir?
Son zamanlarda PowerShell'de bir dizenin boşluk içerip içermediğini kontrol etme gereksinimi duydum. Bunu yapmanın farklı yöntemleri vardır. Bu eğitimde size örneklerle bir dizenin PowerShell'de boşluk içerip içermediğini nasıl kontrol edeceğinizi göstereceğim.
PowerShell'de bir dizenin boşluk içerip içermediğini kontrol etmek için -match operatörünü, herhangi bir boşluk karakteriyle eşleşen \s normal ifade modeliyle birlikte kullanabilirsiniz. Örneğin, $kullanıcıadı="John Doe" dizeniz varsa, bunun geçerli olup olmadığını belirlemek için if ($username -match "\s") koşulunu kullanabilirsiniz. bir boşluk içerir.
Bir Dizenin PowerShell'de Boşluk İçerip İçermediğini Kontrol Edin
PowerShell, bir dizenin boşluk içerip içermediğini kontrol etmek için çeşitli yöntemler kullanır. Size tüm yöntemleri örneklerle göstereyim.
Yöntem 1: -match Operatörünü Kullanma
PowerShell'deki -match operatörü, dizelerdeki kalıpları eşleştirmek için normal ifadeler kullanır. Bir dizenin boşluk içerip içermediğini kontrol etmek için boşluklar da dahil olmak üzere herhangi bir boşluk karakteriyle eşleşen \s normal ifade modelini kullanabilirsiniz.
Size bir örnek göstereyim.
Örnek: Kullanıcı Adlarını Doğrulama
Kullanıcı adlarını doğrulamak için bir komut dosyası yazdığınızı ve kullanıcı adlarının boşluk içermediğinden emin olmak istediğinizi varsayalım.
$username = "John Doe"
if ($username -match "\s") {
Write-Output "The username contains a space."
} else {
Write-Output "The username is valid."
}Bu örnekte, script $username değişkeninin boşluk içerip içermediğini kontrol eder ve buna göre bir mesaj verir.
Tam çıktı aşağıdaki ekran görüntüsündedir. PowerShell betiğini VS kodunu kullanarak çalıştırdıktan sonra,
PowerShell'de Bir Dizenin Yalnızca Sayı İçerip İçmediğini Kontrol Edin
Yöntem 2: Container() Yöntemini Kullanma
İçerir yöntemi, bir dizenin PowerShell'deki alan da dahil olmak üzere belirli bir alt dize içerip içermediğini kontrol etmenin başka bir yoludur. Ancak büyük/küçük harfe duyarlıdır ve normal ifadeleri desteklemez.
Örnek: Dosya Yollarını İşleme
Bir dosya yolu listesini işlediğinizi ve boşluk içeren yolları tanımlamanız gerektiğini düşünün.
$filePath = "C:\Program Files\MyApp\config.txt"
if ($filePath.Contains(" ")) {
Write-Output "The file path contains a space."
} else {
Write-Output "The file path does not contain a space."
}Bu örnek, $filePath değişkeninin boşluk içerip içermediğini kontrol eder ve buna göre bir mesaj verir.
İşte aşağıdaki ekran görüntüsündeki çıktı:
Yöntem 3: -like Operatörünü Kullanma
PowerShell'deki -like operatörü joker karakter deseni eşleştirmeyi destekler. Boşluk olup olmadığını kontrol etmek için herhangi bir karakter dizisiyle eşleşmek üzere * joker karakterini kullanabilirsiniz.
Örnek: Günlük Girişlerini Filtreleme
Bir günlük dosyanız olduğunu ve boşluk içeren girişleri filtrelemek istediğinizi varsayalım.
$logEntry = "Error: Disk space low"
if ($logEntry -like "* *") {
Write-Output "The log entry contains a space."
} else {
Write-Output "The log entry does not contain a space."
}Bu örnekte, komut dosyası $logEntry değişkeninin boşluk içerip içermediğini kontrol eder ve buna göre bir mesaj verir.
PowerShell'in içerdiği Operatöre göz atın
Yöntem 4: Split() Yöntemini Kullanma
Split yöntemi, bir dizeyi PowerShell'deki sınırlayıcıyı temel alarak bir diziye bölmek için kullanılabilir. Dizeyi boşluklara bölerek orijinal dizenin herhangi bir boşluk içerip içermediğini belirleyebilirsiniz.
İşte gerçek bir örnek.
Örnek: CSV Verilerini Ayrıştırma
CSV verilerini ayrıştırdığınız ve herhangi bir alanın boşluk içerip içermediğini kontrol etmeniz gereken bir senaryoyu düşünün. İşte PowerShell betiğinin tamamı.
$csvField = "John,Doe,35,New York"
$fields = $csvField.Split(",")
foreach ($field in $fields) {
if ($field -match "\s") {
Write-Output "The field '$field' contains a space."
} else {
Write-Output "The field '$field' does not contain a space."
}
}Bu örnek, $csvField değişkenini bir alan dizisine böler ve her alanda boşluk olup olmadığını kontrol eder.
İşte aşağıdaki ekran görüntüsündeki çıktı:
PowerShell'de Bir Dizenin Alt Dize İçerip İçmediğini Kontrol Etmeye göz atın
Yöntem 5: IndexOf() Yöntemini Kullanma
IndexOf yöntemi, bir dizede belirtilen karakterin ilk oluşumunun sıfır tabanlı dizinini döndürür. Karakter bulunamazsa -1 değerini döndürür. Yani bu, bir dizenin PowerShell'de boşluk içerip içermediğini kontrol etmenin başka bir yoludur.
Örnek: E-posta Adreslerini Doğrulama
E-posta adreslerini doğruladığınızı ve bunların boşluk içermediğinden emin olmak istediğinizi varsayalım.
$email = "john.doe@example.com"
if ($email.IndexOf(" ") -ne -1) {
Write-Output "The email address contains a space."
} else {
Write-Output "The email address is valid."
}Bu örnekte, komut dosyası $email değişkeninin boşluk içerip içermediğini kontrol eder ve buna göre bir mesaj üretir.
Tam çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:
Çözüm
Bu eğitimde, aşağıdaki gibi farklı yöntemleri kullanarak bir dizenin PowerShell'de boşluk içerip içermediğini kontrol etmenin nasıl yapılacağını açıkladım:
- -match Operatörünü Kullanmak
- Container() Yöntemini Kullanma
- -like Operatörünü Kullanmak
- Split() Yöntemini Kullanma
- IndexOf() Yöntemini Kullanma
Bunun birkaç gerçek örneğini açıkladım ve bu eğitimin size yardımcı olacağını umuyorum.



