PowerShell - Dizeyi Değişkenlere Böl [3 Yol]
Split() Yöntemini Kullanma
Verilen dizeyi iki değişkene bölmek için Split() yöntemini kullanın.
Dizeyi İki Değişkene Bölmek için Split() işlevini kullanın:
$string = "This is a sample string"
$var1_string, $var2_string = $string.Split(" ", 2)
$var1_string
$var2_stringÇIKTI:
This
is a sample stringSplit() yöntemi, belirtilen dizeyi iki/birden fazla değişkene ve bir alt dize dizisine bölmek için kullanılır. Yukarıdaki örnek kodda, Split() yöntemi iki bağımsız değişken aldı; ayırıcı olarak boşluk (-, ., ,, : veya başka bir şey) ve bölmeden sonraki maksimum alt dize sayısı olarak 2.
Bu yöntem, belirtilen ayırıcının (bu durumda boşluk) ilk oluşumunu bulduğu $string dizesini böler ve ilk alt dizeyi $var1_string içinde ve ikinci alt dizeyi < içinde saklar.$var2_string değişkenleri. Benzer şekilde, $string'i birden çok değişkene bölmek için bu yöntemi kullanabiliriz.
Verilen dizeyi birden çok değişkene bölmek için Split() yöntemini kullanın.
Dizeyi Birden Çok Değişkene Bölmek için Split() öğesini kullanın:
$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string.Split(" ", 3)
$var1_string
$var2_string
$var3_stringÇIKTI:
This
is
a sample stringBu örnekte, Split() yöntemi ayırıcı olarak boşlukları ve bölmeden sonra maksimum alt dize sayısı olarak 3'i aldı. Burada, $string belirtilen ayırıcının birinci ve ikinci geçtiği yerde bölünecek ve birinci, ikinci ve üçüncü alt dizeler $var1_string, 'e kaydedilecektir. $var2_string ve $var3_string değişkenleri. Bu üç değişkenin tamamının String veri türünde olduğuna dikkat edin. Belirtilen değişkenin veri türünü almak için GetType() yöntemini $var2_string.GetType() olarak zincirleyebilirsiniz.
Verilen dizeyi bir alt dize dizisine bölmek için Split() yöntemini kullanın.
Dizeyi bir Alt Dize Dizisine Bölmek için Split() öğesini kullanın:
$string = "This is a sample string"
$Array = $string.Split(" ")
$ArrayÇIKTI:
This
is
a
sample
stringBu kod bloğunda, Split() yöntemi yalnızca bir bağımsız değişkeni kabul etti: bir ayırıcı ve eşleşmeyi bulduğu yerde $string'i böldü. Bu durumda, Split() yöntemi bir dizi alt dize döndürdü. $string.Split(" ") yerine $string.Split() kullanabileceğimizi unutmayın; her ikisi de eşdeğerdir çünkü varsayılan ayırıcı boşluktur (sekme/yenisatır) /uzay).
Split() yönteminin büyük/küçük harfe duyarlı olduğunu, yani S ve s harflerinin farklı olacağını unutmayın. Anlamak için aşağıdaki örneklere bakın.
Dizeyi bir Alt Dize Dizisine Bölmek için Split() öğesini kullanın:
$string = "This is a Sample string"
$string.Split("S", 2)ÇIKTI:
This is a
ample stringGördüğümüz gibi, Split() yöntemi yalnızca büyük S harfini bulduğu $string harfini böler ve küçük harfini yok sayar s. Bu nedenle, eğer küçük/büyük harfleri göz ardı etmemiz gerekiyorsa, aşağıdaki bölümde kod örnekleriyle gösterilen -Split operatörünü kullanmalıyız.
Split() yöntemi her zaman bir alt dize dizisi döndürür. Onlarla nasıl başa çıkacağımız bize bağlı. Örneğin, dizeyi bölüyorsak ve alt dizeleri iki veya daha fazla değişkene kaydediyorsak, her değişken bir dize türü değeri içerecektir. Öte yandan, elde edilen alt dizeleri tek bir değişkene kaydedersek, bu bir dize değerleri dizisi olarak ele alınır.
-Split Operatörünü Kullanma
Verilen dizeyi iki değişkene bölmek için -Split operatörünü kullanın.
Dizeyi İki Değişkene Bölmek için -Split kullanın:
$string = "This is a sample string"
$var1_string, $var2_string = $string -Split " ", 2
$var1_string
$var2_stringÇIKTI:
This
is a sample stringBurada, belirtilen dizeyi iki değişkene bölmek için -Split operatörünü iki bağımsız değişkenle (bir ayırıcı ve maksimum alt dize sayısı) kullandık. Önceki bölümde öğrendiğimiz Split() yöntemi gibi çalışır ancak birkaç ek şey yapmamıza olanak tanır; örneğin, komut dosyası bloğunu kullanabiliriz, bu makalede biraz sonra öğreneceğimiz IgnoreCase vb. seçenekleri kullanarak koşulları belirtebiliriz.
Verilen dizeyi birden çok değişkene bölmek için -Split operatörünü kullanın.
Dizeyi Birden Çok Değişkene Bölmek için -Split kullanın:
$string = "This is a sample string"
$var1_string, $var2_string, $var3_string = $string -Split " ", 3
$var1_string
$var2_string
$var3_string
ÇIKTI:
This
is
a sample stringBu kod önceki örneğe benzer ancak $string'i üç değişkene böldük; her değişken ($var1_string, $var2_string ve $var3_string) String veri türündedir.
Verilen dizeyi bir alt dize dizisine bölmek için -Split operatörünü kullanın.
Dizeyi bir Alt Dize Dizisine Bölmek için -Split kullanın:
$string = "This is a sample string"
$Array = $string -Split " "
$ArrayÇIKTI:
This
is
a
sample
stringYukarıdaki kod için, $string'in tamamını belirtilen ayırıcıya (sınırlayıcı) göre bölmek için -Split operatörünü kullandık. Ayrıca herhangi bir ikili bölme ifadesinde (bir komut dosyası bloğu veya sınırlayıcı).
Burada, -Split ve -iSplit büyük/küçük harfe duyarlı değildir, -cSplit ise büyük/küçük harfe duyarlıdır; bu, başvuru sırasında büyük/küçük harfin dikkate alınacağı anlamına gelir sınırlayıcı kuralları (ayırıcı kuralları). Aşağıdaki örneğe bakın.
-Split ve -iSplit Operatörlerini kullanın:
$string = "This is a Sample string"
$var1, $var2 = $string -Split "s", 2
$var1, $var2
$var1, $var2 = $string -iSplit "S", 2
$var1, $var2ÇIKTI:
Thi
is a Sample string
Thi
is a Sample stringBakın, -Split ve -iSplit kullanıldığında aynı sonuçları elde ettik çünkü her ikisi de büyük/küçük harfe duyarlı olmayan operatörlerdir, -cSplit ise daha düşük değerle ilgilenir Ayırıcı kuralları uygulanırken /büyük harf. Aşağıdaki örneğe bakın.
-cSplit Operatörünü kullanın:
$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2
$var1, $var2ÇIKTI:
Thi
is a Sample string
This is a
ample stringBurada -cSplit'i iki kez kullandık. İlk olarak s'yi bulduğunda bölündü; ikincisi, S'yi bulduğunda bölündü. -cSplit operatörünü kullanmak zorunda olduğunuz ancak durumu göz ardı etmek zorunda olduğunuz bir durumu varsayalım. Bu durumda devreye Seçenekler gelir. -cSplit operatörünü kullanırken büyük/küçük harfi göz ardı etmek için aşağıdaki örneğe bakın.
-cSplit Operatörünü kullanın:
$string = "This is a Sample string"
$var1, $var2 = $string -cSplit "s", 2, "IgnoreCase"
$var1, $var2
$var1, $var2 = $string -cSplit "S", 2, "IgnoreCase"
$var1, $var2ÇIKTI:
Thi
is a Sample string
Thi
is a Sample stringBurada -cSplit, SimpleMatch'in bir parçası olan IgnoreCase seçeneğiyle birlikte kullanıldığında büyük/küçük harfe dikkat etmez. Peki başka seçeneklerimiz de var mı? Evet, yapıyoruz. SimpleMatch seçenekleri arasında IgnoreCase ve SimpleMatch bulunur.
RegexMatch seçenekleri arasında IgnoreCase, RegexMatch, ExplicitCapture, CultureInvariant, IgnorePatternWhitespace, Çok Satırlı ve Tek Satır, bunların her biri için ayrıntılı bir açıklamayı burada bulabilirsiniz.
Verilen dizeyi bir alt dize dizisine bölmek için komut dosyası bloğuyla birlikte -Split operatörünü kullanın.
ScriptBlock ile -Split Operatörünü kullanın:
$string = "This is a Sample string"
$Array = $string -Split {$_ -eq "s" -or $_ -eq "p"}
$ArrayÇIKTI:
Thi
i
a
am
le
tringBurada, iki koşulu belirten { ile temsil edilen bir komut dosyası bloğu kullandık ve mevcut karakterin s'ye mi yoksa p'ye eşit olup olmadığını kontrol ettik. . -or operatörü OR işlemini gerçekleştirirken eşitliği kontrol etmek için -eq operatörünü kullandık. OR işlemi, en az bir koşulun true olması durumunda true sonucunu verir. -Split operatörünün $string'i yalnızca komut bloğu true değerini döndürdüğü takdirde böldüğünü unutmayın.
ForEach Döngüsünü Kullanma
Verilen dizeyi bir alt dize dizisine bölmek için ForEach döngüsünü kullanın.
ForEach Döngüsünü kullanın:
$string = "This is a Sample string"
$Array = $string | foreach split " "
$ArrayÇIKTI:
This
is
a
Sample
stringBurada, $olan . Her yineleme, belirtilen sınırlayıcının bulunduğu dizeyi böler ve bir alt dize dizisi döndürür.String tipi nesne üzerinde yineleme yapmak için ForEach döngüsünü (ForEach ifadesi olarak da bilinir) kullandık. dize
Bunların hepsi PowerShell'de String'in Değişkenlere nasıl bölüneceğiyle ilgili.
