gpt4 book ai didi

.NET 字符串拆分()

转载 作者:行者123 更新时间:2023-12-04 16:40:45 24 4
gpt4 key购买 nike

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 相同的技术,并将字符串分隔符用作一个实体单元?希望没有正则表达式。

这在 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

最佳答案

http://msdn.microsoft.com/en-us/library/system.string.split.aspx

当您调用 string.Split(string) 时,它​​使用 string.Split(char[]) 重载(因为 string 可以转换为 char[] ,但不能转换为 string[] )。

为了使用 string.Split(string[], StringSplitOptions) 重载,您必须以 "123456789".Split(new[] { "45" }, StringSplitOptions.None) 的方式调用它。

关于.NET 字符串拆分(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9372588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com