PowerShell: İki Dize Arasındaki Metin Nasıl Çıkarılır
PowerShell'i kullanarak iki dize arasındaki metni ayıklamak için aşağıdaki temel sözdizimini kullanabilirsiniz:
[regex]::Match($original_string, '[^string1]+(?=string2)').Value
Bu özel örnek, original_string adlı dize değişkeni içindeki string1 ile string2 arasındaki metni çıkarır.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: PowerShell'de İki Dize Arasındaki Metin Nasıl Çıkarılır
Aşağıdaki dizeye sahip olduğumuzu varsayalım:
- Kimlik Numarası:004593Çalışan
Aşağıdaki değeri elde etmek için yalnızca iki nokta üst üste ( : ) ile Employee dizesi arasındaki metni çıkarmak istediğimizi varsayalım:
004593
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
$original_string = "His ID Number:004593Employee"
[regex]::Match($original_string, '[^:]+(?=Employee)').Value
Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Dizeden yalnızca 004593'ü çıkarabildiğimize dikkat edin; bu, iki nokta üst üste ( : ) ile Çalışan arasındaki metnin tamamını temsil eder. .
Belirli dizeler arasındaki metni birkaç kez çıkarmak istiyorsanız bunun yerine Matches yöntemini kullanabilirsiniz.
Örneğin aşağıdaki dizgeye sahip olduğumuzu varsayalım:
The ID Values are #004593Employee and #002321EmployeeVe aşağıdakileri elde etmek için her çalışan kimliğinin yalnızca numarasını çıkarmak istediğimizi varsayalım:
- 004593
- 002321
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
$original_string = "The ID Values are #004593Employee and #002321Employee"
[regex]::Matches($original_string, '[^#]+(?=Employee)').Value
Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Aşağıdakileri elde etmek için her çalışan kimliğinin yalnızca numarasını çıkarabildiğimize dikkat edin:
- 004593
- 002321
Eşleşmeler yöntemini kullanarak, iki belirli dize arasındaki metnin tüm oluşumlarını ayıklayabiliyoruz.

