gpt4 book ai didi

.net - 是否有考虑 StringComparison 的 String.Split() ?

转载 作者:行者123 更新时间:2023-12-04 22:58:53 25 4
gpt4 key购买 nike

Best Practices for Using Strings in the .NET Framework我们鼓励提供适当的 StringComparison 每当我们比较字符串时。我同意这一点,但我发现与其他方法不同, String.Split() 实际上没有比较参数的重载。

是否有等价于 String.Split()在框架中的某处进行字符串比较还是我自己编写?

最佳答案

Is there equivalent of String.Split() taking string comparisons somewhere in the framework?



不,那里没有。坦率地说,我认为这没有多大意义。如果您在特殊字符上拆分字符串,通常是因为另一个系统向您提供了原始字符串,那么您为什么要在 X 上拆分?和 x ?通常您不想这样做,而且 .NET 不提供帮助您处理它的方法。

Am I expected to write my own?



好吧,你可以使用一些帮助。这是一个不区分大小写的拆分器。它仍然需要一些工作,但您可以将其用作起点:
public static string[] Split(string s, params char[] delimeter)
{
List<string> parts = new List<string>();

int lastPartIndex = 0;
for (int i = 0; i < s.Length; i++)
{
if (delimeter.Select(x => char.ToUpperInvariant(x)).Contains(char.ToUpperInvariant(s[i])))
{
parts.Add(s.Substring(lastPartIndex, i - lastPartIndex));

lastPartIndex = i + 1;
}
}

if (lastPartIndex < s.Length)
{
parts.Add(s.Substring(lastPartIndex, s.Length - lastPartIndex));
}

return parts.ToArray();
}

关于.net - 是否有考虑 StringComparison 的 String.Split() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715028/

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