Dường như toán tử PowerShell -split và phương thức .NET Split() hoạt động hoàn toàn khác.
.NET xử lý các chuỗi phân cách như thể chúng là các mảng ký tự..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
Output:
.NET Split():
Count: 3
123
5
789
-split operator:
Count: 1
123456789
Có cách nào để làm cho một ứng dụng .NET sử dụng kỹ thuật tương tự như PowerShell, và sử dụng các dấu phân cách chuỗi như một đơn vị vững chắc? Hy vọng rằng, không có RegEx.
Cảm ơn.
EDIT: này làm việc trong PowerShell, sử dụng 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
Lạ! Điều tốt tôi không sử dụng Powershell; p – leppie