Кажется, что оператор PowerShell -split
и метод .NET Split()
действуют совершенно по-разному.
.NET обрабатывает разделительные строки, как если бы они были символьными массивами.
$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.
Это работало в 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