Görünüşe göre PowerShell-split işleci ve .NET Split() yöntemi tamamen farklı davranır.
.NET, ayırıcı dizelerini karakter dizilerimiş gibi ele alır..NET Dize Bölmesi()
$str = "123456789"
Write-Host ".NET Split(): "
$lines = $str.Split("46")
Write-Host "Count: $($lines.Length)"
$lines
$str = "123456789"
Write-Host "-split operator: "
$lines = $str -split "46"
Write-Host "Count: $($lines.Length)"
$lines
Çıktı:
.NET Split():
Count: 3
123
5
789
-split operator:
Count: 1
123456789
bir .NET uygulaması PowerShell gibi aynı tekniği kullanmak ve bir katı birim olarak dize ayırıcı kullandığından emin olmak için herhangi bir yolu var mı? Umarım RegEx olmadan.
Teşekkürler.
DÜZENLEME: string
bir etmek döküm olabilir olarak
Write-Host "Divided by 46:"
"123456789".Split([string[]] "46", [StringSplitOptions]::None)
Write-Host "`n`nDivided by 45:"
"123456789".Split([string[]] "45", [StringSplitOptions]::None)
Divided by 46:
123456789
Divided by 45:
123
6789
Garip! İyi bir şey Powershell kullanmıyorum; p – leppie