.NET String Split ()

Похоже, что оператор 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
5
задан Peter Mortensen 3 April 2019 в 19:03
поделиться