gpt4 book ai didi

C# 字符串约定解析

转载 作者:行者123 更新时间:2023-11-30 13:43:11 26 4
gpt4 key购买 nike

我是 C# 的新手,有一个用户输入字符串(我希望是有效的。)

此字符串将构成信息的多个部分和子部分。

例如:

1-7 will //represent values 1 2 3 4 5 6 7

3:.25:7 //will be the numbers contained between 3 and 7 in increments of .25
// (3 3.25 3.5 3.75 4 ... 6.75 7)
1,4,5 //will represent values 1 4 5

我希望能够遍历与此类似的单个字符串,并得到与用分号 (;) 分隔的数据一样多的数组

主要目标是解析如下内容:

1-7;3:.25:10;1,5,9;4-7

并且由于上面有 4 个“数据集”,我应该创建 4 个包含这些值的新数组。如果我有 n 个“数据集”,我应该创建 n 个新数组。

稍后我想使用所有组合以嵌套方式遍历数组。

此外,如果可能(不是必需的),能够对如下表示进行某种混合:

1-7,9,16:2:20;

我希望我在这里尝试完成的事情在我的示例中有意义。

谢谢!

最佳答案

嗯,可能会有一个聪明的正则表达式的答案,我会用我最喜欢的 string.Split() 函数试一试。

作为第一步,您可以在“;”上拆分输入字符串

string[] datasets = inputString.Split(';');

就您的最后一点而言,似乎逗号“,”的作用大致相同,您可以将其与 Split(';', ',') 或合并将它们分开

string[] parts = datasets[i].Split(',');

部分是以下三种情况之一:单个数字、范围或步进范围。

您可以使用 string.IndexOf() 和/或

进行探测
string[] rangeParts = parts[j].Split('-');
string[] steppedParts = parts[j].Split(':');

结果的长度应分别为 2 和 3。

然后应使用 TryParse() 检查生成的字符串,并且由于使用了标点符号,您最好修复 Culture:

bool valid = double.TryParse(parts[k], 
System.Globalization.NumberStyles.AllowDecimalPoint,
System.Globalization.CultureInfo.InvariantCulture, out value);

这些是零件,需要一些组装。

关于C# 字符串约定解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707508/

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