Кажется, что оператор PowerShell -split и метод .NET Split() действуют совершенно иначе.
.NET рассматривает строки разделителя, как если бы они были массивами символов..NET String Split()
$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
Выход:
.NET Split():
Count: 3
123
5
789
-split operator:
Count: 1
123456789
Есть ли способ, чтобы сделать приложение .NET использовать ту же технику, как PowerShell и использовать строку разделитель в единое целое? Надеюсь, без RegEx.
Спасибо.
EDIT: Это работало в PowerShell, используя Split():
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
Странно! Хорошо, что я не использую Powershell; p – leppie